JP2008287471A - 5軸加工機の数値制御方法 - Google Patents
5軸加工機の数値制御方法 Download PDFInfo
- Publication number
- JP2008287471A JP2008287471A JP2007131435A JP2007131435A JP2008287471A JP 2008287471 A JP2008287471 A JP 2008287471A JP 2007131435 A JP2007131435 A JP 2007131435A JP 2007131435 A JP2007131435 A JP 2007131435A JP 2008287471 A JP2008287471 A JP 2008287471A
- Authority
- JP
- Japan
- Prior art keywords
- point
- tool
- cutting
- vector
- interpolation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 239000013598 vector Substances 0.000 claims abstract description 277
- 238000003754 machining Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 244000144992 flock Species 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/41—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
- G05B19/4103—Digital interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/404—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35158—Calculation of contact point of tool on surface, curve
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49344—Surface, 5-axis surface machining
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50297—Compensation of positioning error due to a-axis, b-axis tool rotation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50336—Tool, probe offset for curves, surfaces, contouring
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Numerical Control (AREA)
Abstract
【課題】特異点で不安定な動作や加工物への切り込みが生じるのを防止することができる5軸加工機の制御方法を提供する。
【解決手段】切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)の成す角度αが小くなると、動作が不安定になるが、この場合は、工具径補正ベクトル(TCx,TCy,TCz)を1つ前の補間周期で計算された工具径補正ベクトルとし、動作が不安定となることを防止する。又、切削点指令の位置の間隔が大きく、直線軸制御点の位置の移動が小さいブロックの指令では、過大な切り込みが発生する。この場合、当該ブロックの直線軸制御点の移動を停止させるか、直線移動に変えて、直線軸制御点がループすることを防止し、過大な切り込みが発生することを防止する。
【選択図】図12
【解決手段】切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)の成す角度αが小くなると、動作が不安定になるが、この場合は、工具径補正ベクトル(TCx,TCy,TCz)を1つ前の補間周期で計算された工具径補正ベクトルとし、動作が不安定となることを防止する。又、切削点指令の位置の間隔が大きく、直線軸制御点の位置の移動が小さいブロックの指令では、過大な切り込みが発生する。この場合、当該ブロックの直線軸制御点の移動を停止させるか、直線移動に変えて、直線軸制御点がループすることを防止し、過大な切り込みが発生することを防止する。
【選択図】図12
Description
回転軸2軸と直線軸3軸を有する5軸加工機を制御する数値制御方法であって、不安定な動作を発生する可能性のある特異点近傍における動作制御に関する。
ワーク(被加工物)に対して工具を直線3軸方向に相対移動させると共に、回転軸2軸方向に工具をワークに対して相対的に傾けて加工を行う5軸加工機はすでに公知である。 例えば、CAD/CAM装置や倣い装置で作成された指令点列データおよびワークと工具の傾斜角度を指令する指令ベクトル列に基づいて、曲線補間を行って曲面を加工する5軸加工機による加工方法において、所期の曲線に近い滑らかな曲線で補間して加工し、滑らかな加工面を得るようにした加工方法が知られている(特許文献1参照)。
又、5軸加工機において、工具の位置および姿勢を作業対象に固定された直交座標系上で指令し、工具をある速度で移動させた場合、機械の動作範囲内に特異点(特異姿勢)が存在する機械において、各関節の速度や加速度がその関節の許容値を超える場合があることから、工具に与えれた2つの時点での姿勢に基づいて、両時点の間における工具の姿勢誤差が姿勢誤差許容値以下になるように、関節補間範囲を決定し、この関節補間範囲においては、関節補間(2つの時点の位置ベクトルと姿勢ベクトルに基づいて各軸の関節座標値を求める補間)により工具の姿勢を制御することによって、特異点近傍の各関節の速度や加速度が過大となるような場合に、軌跡誤差に対して要求精度を満たしつつ、移動速度をできるだけ短縮するようにした発明も知られている(特許文献2参照)。
工具によりワークを加工する切削点と、ワークに対する工具位置を制御する制御点は、異なる。
図1は、X、Y、Z軸の3つの直線軸とX軸回りの回転軸A軸と、Z軸回りのC軸を有する5軸加工機において、工具1としてボールエンドミルを使用したときの指令された切削点と制御される工具位置との関係の説明図である。
切削点として直線軸のX、Y、Z軸に対応する直交座標系のX、Y、Z軸の位置(X,Y,Z)が指令される。このような切削点指令(X,Y,Z)に対して、ワークに対する工具1の位置を制御するための制御点は工具1の先端でワークと接触する点(切削点指令点)ではなく、該位置から離れた直線軸位置(Xc,Yc,Zc)であり、指令される切削点位置(X,Y,Z)とこれに対応する直線軸位置(Xc,Yc,Zc)は一致しない。切削点位置(X,Y,Z)と共に指令される切削面垂直方向指令(I,J,K)と設定されている工具径補正量TRにより求まる工具径補正、およびA軸、C軸の回転軸への指令より求まる工具方向と設定された工具径補正量TR、工具長補正量TLによる工具長補正がなされて、直線軸位置(Xc,Yc,Zc)が求められ、直線軸位置(Xc,Yc,Zc)および回転軸位置(A,C)が制御される。
図1は、X、Y、Z軸の3つの直線軸とX軸回りの回転軸A軸と、Z軸回りのC軸を有する5軸加工機において、工具1としてボールエンドミルを使用したときの指令された切削点と制御される工具位置との関係の説明図である。
切削点として直線軸のX、Y、Z軸に対応する直交座標系のX、Y、Z軸の位置(X,Y,Z)が指令される。このような切削点指令(X,Y,Z)に対して、ワークに対する工具1の位置を制御するための制御点は工具1の先端でワークと接触する点(切削点指令点)ではなく、該位置から離れた直線軸位置(Xc,Yc,Zc)であり、指令される切削点位置(X,Y,Z)とこれに対応する直線軸位置(Xc,Yc,Zc)は一致しない。切削点位置(X,Y,Z)と共に指令される切削面垂直方向指令(I,J,K)と設定されている工具径補正量TRにより求まる工具径補正、およびA軸、C軸の回転軸への指令より求まる工具方向と設定された工具径補正量TR、工具長補正量TLによる工具長補正がなされて、直線軸位置(Xc,Yc,Zc)が求められ、直線軸位置(Xc,Yc,Zc)および回転軸位置(A,C)が制御される。
以上のように、指令される切削点位置(X,Y,Z)とワークに対する工具1の位置、すなわち制御される直線軸の位置(Xc,Yc,Zc)は一致しない。ボールエンドミル以外の、主軸が旋回したときの断面が長方形になるスクエアエンドミルやそのコーナにR(丸み)がついたラジアスエンドミルを使用したときも同様であり、指令される切削点位置と制御される直線軸の位置は一致しない。
しかし、一般に、切削点指令点と制御点の動作は同様であることが望ましい。つまり、切削点の指令間隔が小さければ対応する制御点の動作も小さく、切削点の指令間隔が大きければ対応する制御点の動作も大きいのが望ましい。
例えば、スクエアエンドミルでの一般的な切削点指令での切削点と制御点の関係は、図2のようになる。この図2に示すように、1ブロックで指令された始点の切削点指令(XS,YS,ZS)と終点の切削点指令(XE,YE,ZE)間の距離と該ブロックの指令で工具1を駆動する直線軸の制御点(Xc,Yc,Zc)の始点と終点の位置間の距離がほぼ比例しているような関係になることが望ましい。ところが、指令形状、工具種類によっては、切削点(指令点)と制御点の動作が大きく相違する場合がある。つまり、切削点の指令間隔が小さいが対応する制御点は大きく動作する場合(後述する図9に示すような場合)や、指令切削点の間隔が大きいが対応する制御点の動作は小さい場合(後述する図10に示すような場合)などが発生する(以下、このような場合を特異点近傍と呼ぶ)。このような、切削点(指令点)と対応する制御点の動作が大きく相違する特異点近傍では、不安定な動作や加工物への過大な切り込みが生じ望ましくない。本発明は、このような問題点を解決しようとするものである。
例えば、スクエアエンドミルでの一般的な切削点指令での切削点と制御点の関係は、図2のようになる。この図2に示すように、1ブロックで指令された始点の切削点指令(XS,YS,ZS)と終点の切削点指令(XE,YE,ZE)間の距離と該ブロックの指令で工具1を駆動する直線軸の制御点(Xc,Yc,Zc)の始点と終点の位置間の距離がほぼ比例しているような関係になることが望ましい。ところが、指令形状、工具種類によっては、切削点(指令点)と制御点の動作が大きく相違する場合がある。つまり、切削点の指令間隔が小さいが対応する制御点は大きく動作する場合(後述する図9に示すような場合)や、指令切削点の間隔が大きいが対応する制御点の動作は小さい場合(後述する図10に示すような場合)などが発生する(以下、このような場合を特異点近傍と呼ぶ)。このような、切削点(指令点)と対応する制御点の動作が大きく相違する特異点近傍では、不安定な動作や加工物への過大な切り込みが生じ望ましくない。本発明は、このような問題点を解決しようとするものである。
まず、この問題点を説明する前に、まず、5軸加工機を制御する数値制御装置等の制御装置が従来から実施している切削点指令による加工制御の動作、原理について説明する。 図3は、工具1としてボールエンドミルを用い、切削点指令よりXYZ軸の直線軸3軸とAC軸の回転軸の位置を求めて制御するときの動作説明図である。
この場合、加工プログラムとしては図4に示すようなプログラムが用いられる。
この場合、加工プログラムとしては図4に示すようなプログラムが用いられる。
図4において、左側が加工プログラムでその右側に記載したものは、この加工プログラムの説明である。「G43.8」は切削点指令のコード、「H01」は工具長補正番号が「01」で、この工具長補正番号で示されている工具長補正量を使用することの指令、「D01」は、工具径補正番号が「01」で、この工具径補正番号で示される工具径補正量を使用することの指令である。また、「X Y Z A C I J K 」は、切削点指令のブロックで「X Y Z 」は直交座標系上のXYZ軸上の切削点の位置を示す切削点指令、「A C 」は、工具方向指令、「I J K 」は、切削点における切削面垂直方向を示す指令である。又、「G49」は、この切削点指令による加工制御をキャンセルし終了させる指令である。
又、工具径補正量TR、工具長補正量TLおよび後述するコーナR補正量CRが補正番号毎にパラメータ設定されている。図5にこの工具補正量設定例を示す。なお、コーナR補正量CRが「0.0」と設定されると、コーナRがないものであり、工具がスクエアエンドミルであることを意味する。又、コーナR補正量CRに工具径補正量TRと同じ数値が設定されている場合は、その工具はボールエンドミルを意味する。図5で示す例では、補正番号「01」はボールエンドミルを意味し、補正番号「02」は、ラジアスエンドミルを意味し、補正番号「03」は、スクエアエンドミルを意味している。
制御装置は、加工プログラムよりブロックの指令(X,Y,Z,A,C,I,J,K)を読込み、読み込んだブロック切削点指令(X,Y,Z)を当該フロックの終点での切削点指令(XE,YE,ZE)とし、1つ前のブロックの終点である1つ前のブロックでの切削点指令(X,Y,Z)を当該ブロックの始点の切削点指令(XS,YS,ZS)とする。同様に、プログラムから読み込んだブロックの始点での切削面垂直方向指令(I,J,K)を(IS,JS,KS)と表し、ブロック終点での切削面垂直方向指令(I,J,K)を(IE,JE,KE)と表す。
(1) このブロック始点での切削点指令(XS,YS,ZS)の位置からブロック終点での切削点指令(XE,YE,ZE)の位置まで補間周期毎に補間処理を行い、切削点補間位置(Xt,Yt,Zt)を求める。
(2) 同様に、ブロック始点での切削面垂直方向指令(IS,JS,KS)からブロック終点での切削面垂直方向指令(IE,JE,KE)まで補間処理して補間周期毎、すなわち、切削点補間位置(Xt,Yt,Zt)ての切削面垂直方向補間ベクトル(It,Jt,Kt)を求める。なお、この切削面垂直方向補間ベクトル(It,Jt,Kt)は、単位ベクトルとして求める。
(3) 切削面垂直方向補間ベクトル(It,Jt,Kt)にパラメータ設定されている工具径補正量TRを乗じて工具径補正ベクトル(TCx,TCy,TCz)を求める。
(4) 読み込んだブロックにおける始点と終点での工具方向指令A,Cからブロック始点での工具方向ベクトル(TSx,TSy,TSz)、ブロック終点での工具方向ベクトル(TEx,TEy,TEz)を求める。ブロック始点での工具方向指令をAS,CS、ブロック終点での工具方向指令をAE,CEとすると、
TSx=−cos(CS)sin(AS)
TSy=−sin(CS)sin(AS)
TSz=cos(AS)
TEx=−cos(CE)sin(AE)
TEy=−sin(CE)sin(AE)
TEz=cos(AE)
として求まる。
(5) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)からブロック終点での工具方向ベクトル(TEx,TEy,TEz)まで補間処理して工具方向補間ベクトル(Ttx,Tty,Ttz)を求める。なお、この工具方向補間ベクトル(Ttx,Tty,Ttz)も単位ベクトルとして求める。
(6) 工具方向補間ベクトル(Ttx,Tty,Ttz)に工具長補正量TLから工具径補正量TRを差し引いた値(TL−TR)を乗じて工具長補正ベクトル(TLx,TLy,TLz)を求める。
(7) 切削点補間位置(Xt,Yt,Zt)に工具径補正ベクトル(TCx,TCy,TCz)と工具長補正ベクトル(TLx,TLy,TLz)を加算して、直線軸制御点位置(Xc,Yc,Zc)を求める。この直線軸制御点位置(Xc,Yc,Zc)が補間周期における直線軸(X,Y,Z軸)の移動位置である。
(8) 工具方向ベクトル(Ttx,Tty,Ttz)を回転軸制御点位置(Ac,Cc)に変換する。この変換された回転軸制御点位置(Ac,Cc)が補間周期毎の回転軸(A,C軸)が移動する位置である。
Ac=arccos(Ttz)
Cc=arctan(Tty/Ttx)
以上の処理によって、各補間周期毎の直線軸制御点位置(Xc,Yc,Zc)、回転軸制御点位置(Ac,Cc)が求められ、この位置に移動するように各軸を駆動するサーボモータを駆動制御することによって、加工が実行される。
(1) このブロック始点での切削点指令(XS,YS,ZS)の位置からブロック終点での切削点指令(XE,YE,ZE)の位置まで補間周期毎に補間処理を行い、切削点補間位置(Xt,Yt,Zt)を求める。
(2) 同様に、ブロック始点での切削面垂直方向指令(IS,JS,KS)からブロック終点での切削面垂直方向指令(IE,JE,KE)まで補間処理して補間周期毎、すなわち、切削点補間位置(Xt,Yt,Zt)ての切削面垂直方向補間ベクトル(It,Jt,Kt)を求める。なお、この切削面垂直方向補間ベクトル(It,Jt,Kt)は、単位ベクトルとして求める。
(3) 切削面垂直方向補間ベクトル(It,Jt,Kt)にパラメータ設定されている工具径補正量TRを乗じて工具径補正ベクトル(TCx,TCy,TCz)を求める。
(4) 読み込んだブロックにおける始点と終点での工具方向指令A,Cからブロック始点での工具方向ベクトル(TSx,TSy,TSz)、ブロック終点での工具方向ベクトル(TEx,TEy,TEz)を求める。ブロック始点での工具方向指令をAS,CS、ブロック終点での工具方向指令をAE,CEとすると、
TSx=−cos(CS)sin(AS)
TSy=−sin(CS)sin(AS)
TSz=cos(AS)
TEx=−cos(CE)sin(AE)
TEy=−sin(CE)sin(AE)
TEz=cos(AE)
として求まる。
(5) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)からブロック終点での工具方向ベクトル(TEx,TEy,TEz)まで補間処理して工具方向補間ベクトル(Ttx,Tty,Ttz)を求める。なお、この工具方向補間ベクトル(Ttx,Tty,Ttz)も単位ベクトルとして求める。
(6) 工具方向補間ベクトル(Ttx,Tty,Ttz)に工具長補正量TLから工具径補正量TRを差し引いた値(TL−TR)を乗じて工具長補正ベクトル(TLx,TLy,TLz)を求める。
(7) 切削点補間位置(Xt,Yt,Zt)に工具径補正ベクトル(TCx,TCy,TCz)と工具長補正ベクトル(TLx,TLy,TLz)を加算して、直線軸制御点位置(Xc,Yc,Zc)を求める。この直線軸制御点位置(Xc,Yc,Zc)が補間周期における直線軸(X,Y,Z軸)の移動位置である。
(8) 工具方向ベクトル(Ttx,Tty,Ttz)を回転軸制御点位置(Ac,Cc)に変換する。この変換された回転軸制御点位置(Ac,Cc)が補間周期毎の回転軸(A,C軸)が移動する位置である。
Ac=arccos(Ttz)
Cc=arctan(Tty/Ttx)
以上の処理によって、各補間周期毎の直線軸制御点位置(Xc,Yc,Zc)、回転軸制御点位置(Ac,Cc)が求められ、この位置に移動するように各軸を駆動するサーボモータを駆動制御することによって、加工が実行される。
図6は、使用工具1がスクエアエンドミルのときの切削点指令による直線軸制御点位置及び回転軸制御点位置を補間周期毎求める処理の説明図である。この場合の加工プログラムは、図4に示した加工プログラムと同等であり、工具長補正番号(「H03」)、工具径補正番号(「D03」)が指令され、図5に示した工具補正量設定例で補正番号03が選択され、コーナR補正量CRが「0.0」でスクエアエンドミルであることが指定されている。
(1) 制御装置は、加工プログラムよりブロックの指令(X,Y,Z,A,C,I,J,K)を読込み、ブロック始点での切削点指令(XS,YS,ZS)の位置からブロック終点での切削点指令(XE,YE,ZE)への位置まで補間処理を行い補間周期毎の切削点補間位置(Xt,Yt,Zt)を求める。
(2) ブロック始点での切削面垂直方向指令(IS,JS,KS)からブロック終点での切削面垂直方向指令(IE,JE,KE)まで補間処理して補間周期毎の切削面垂直方向補間ベクトル(It,Jt,Kt)を求める。なお、この切削面垂直方向補間ベクトル(It,Jt,Kt)は、単位ベクトルとして求める。
(3) 読み込んだブロックにおける始点と終点での工具方向指令A,Cからブロック始点での工具方向ベクトル(TSx,TSy,TSz)、ブロック終点での工具方向ベクトル(TEx,TEy,TEz)を求める。この求め方は、ボールエンドミルの(4)で記載した求め方と同じである。
(4) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)からブロック終点での工具方向ベクトル(TEx,TEy,TEz)まで補間処理して工具方向補間ベクトル(Ttx,Tty,Ttz)を求める。なお、この工具方向補間ベクトル(Ttx,Tty,Ttz)も単位ベクトルとして求める。
(5) 工具方向補間ベクトル(Ttx,Tty,Ttz)と切削面垂直方向補間ベクトル(It,Jt,Kt)が成す平面上で工具方向補間ベクトル(Ttx,Tty,Ttz)を90度回転し、工具径補正量TRをかけて、工具径補正ベクトル(TCx,TCy,TCz)を求める。この工具方向補間ベクトル(Ttx,Tty,Ttz)の回転方法は、工具方向補間ベクトル(Ttx,Tty,Ttz)と切削面垂直方向補間ベクトル(It,Jt,Kt)の外積ベクトル(Vx,Vy,Vz)をも求める。
(1) 制御装置は、加工プログラムよりブロックの指令(X,Y,Z,A,C,I,J,K)を読込み、ブロック始点での切削点指令(XS,YS,ZS)の位置からブロック終点での切削点指令(XE,YE,ZE)への位置まで補間処理を行い補間周期毎の切削点補間位置(Xt,Yt,Zt)を求める。
(2) ブロック始点での切削面垂直方向指令(IS,JS,KS)からブロック終点での切削面垂直方向指令(IE,JE,KE)まで補間処理して補間周期毎の切削面垂直方向補間ベクトル(It,Jt,Kt)を求める。なお、この切削面垂直方向補間ベクトル(It,Jt,Kt)は、単位ベクトルとして求める。
(3) 読み込んだブロックにおける始点と終点での工具方向指令A,Cからブロック始点での工具方向ベクトル(TSx,TSy,TSz)、ブロック終点での工具方向ベクトル(TEx,TEy,TEz)を求める。この求め方は、ボールエンドミルの(4)で記載した求め方と同じである。
(4) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)からブロック終点での工具方向ベクトル(TEx,TEy,TEz)まで補間処理して工具方向補間ベクトル(Ttx,Tty,Ttz)を求める。なお、この工具方向補間ベクトル(Ttx,Tty,Ttz)も単位ベクトルとして求める。
(5) 工具方向補間ベクトル(Ttx,Tty,Ttz)と切削面垂直方向補間ベクトル(It,Jt,Kt)が成す平面上で工具方向補間ベクトル(Ttx,Tty,Ttz)を90度回転し、工具径補正量TRをかけて、工具径補正ベクトル(TCx,TCy,TCz)を求める。この工具方向補間ベクトル(Ttx,Tty,Ttz)の回転方法は、工具方向補間ベクトル(Ttx,Tty,Ttz)と切削面垂直方向補間ベクトル(It,Jt,Kt)の外積ベクトル(Vx,Vy,Vz)をも求める。
(Vx,Vy,Vz)=(Ttx,Tty,Ttz)×(It,Jt,Kt)
この外積ベクトル(Vx,Vy,Vz)は工具方向補間ベクトル(Ttx,Tty,Ttz)と切削面垂直方向補間ベクトル(It,Jt,Kt)が成す平面に垂直なベクトルである。この外積ベクトル(Vx,Vy,Vz)の単位ベクトル(VNx,VNy,VNz)を求め、この単位ベクトル(VNx,VNy,VNz)の回りに、工具方向補間ベクトル(Ttx,Tty,Ttz)を90度回転させることによって、90度回転させた工具方向補間ベクトル(Ttx,Tty,Ttz)を求める。なお、一般にあるベクトルをある単位ベクトルの周りにある角度だけ回転させる方法は、「コンピュータグラフィックス」(DAVID F.ROGERS,J.ALANADAMS 山口富士夫訳)などに記載されている。
(6) 工具方向補間ベクトル(Ttx,Tty,Ttz)に工具長補正量TLを乗じて工具長補正ベクトル(TLx,TLy,TLz)を求める。
(7) 切削点補間位置(Xt,Yt,Zt)に工具径補正ベクトル(TCx,TCy,TCz)と工具長補正ベクトル(TLx,TLy,TLz)を加算して、直線軸制御点位置(Xc,Yc,Zc)を求める。この直線軸制御点位置(Xc,Yc,Zc)が補間周期における直線軸(X,Y,Z軸)の移動位置である。
(8) 工具方向ベクトル(Ttx,Tty,Ttz)を回転軸制御点位置(Ac,Cc)に変換する。この変換された回転軸制御点位置(Ac,Cc)が補間周期毎の回転軸(A,C軸)が移動する位置である。この変換方法は、上述したボールエンドミルの場合と同じである。
この外積ベクトル(Vx,Vy,Vz)は工具方向補間ベクトル(Ttx,Tty,Ttz)と切削面垂直方向補間ベクトル(It,Jt,Kt)が成す平面に垂直なベクトルである。この外積ベクトル(Vx,Vy,Vz)の単位ベクトル(VNx,VNy,VNz)を求め、この単位ベクトル(VNx,VNy,VNz)の回りに、工具方向補間ベクトル(Ttx,Tty,Ttz)を90度回転させることによって、90度回転させた工具方向補間ベクトル(Ttx,Tty,Ttz)を求める。なお、一般にあるベクトルをある単位ベクトルの周りにある角度だけ回転させる方法は、「コンピュータグラフィックス」(DAVID F.ROGERS,J.ALANADAMS 山口富士夫訳)などに記載されている。
(6) 工具方向補間ベクトル(Ttx,Tty,Ttz)に工具長補正量TLを乗じて工具長補正ベクトル(TLx,TLy,TLz)を求める。
(7) 切削点補間位置(Xt,Yt,Zt)に工具径補正ベクトル(TCx,TCy,TCz)と工具長補正ベクトル(TLx,TLy,TLz)を加算して、直線軸制御点位置(Xc,Yc,Zc)を求める。この直線軸制御点位置(Xc,Yc,Zc)が補間周期における直線軸(X,Y,Z軸)の移動位置である。
(8) 工具方向ベクトル(Ttx,Tty,Ttz)を回転軸制御点位置(Ac,Cc)に変換する。この変換された回転軸制御点位置(Ac,Cc)が補間周期毎の回転軸(A,C軸)が移動する位置である。この変換方法は、上述したボールエンドミルの場合と同じである。
以上の処理によって、各補間周期毎の直線軸制御点位置(Xc,Yc,Zc)、回転軸制御点位置(Ac,Cc)が求められ、この位置に移動するように各軸を駆動するサーボモータを駆動制御することによって、加工が実行される。
図7は、使用工具1がラジアスエンドミルのときの切削点指令による直線軸制御点位置及び回転軸制御点位置を補間周期毎求める処理の説明図である。この場合の加工プログラムの例を図8に示す。図4に示した加工プログラムと同等であるが、工具長補正番号(「H02」)、工具径補正番号(「D02」)が指令され、図5に示した工具補正量設定例で補正番号02が選択され、コーナR補正量CRが「2.0」であることからラジアスエンドミルが指定されているものである。他は、図4に示した例と同様である。
(1) 制御装置は、加工プログラムよりブロックの指令(X,Y,Z,A,C,I,J,K)を読込み、ブロック始点での切削点指令(XS,YS,ZS)の位置からブロック終点での切削点指令(XE,YE,ZE)への位置まで補間処理を補間周期毎行い、切削点補間位置(Xt,Yt,Zt)を求める。
(2) ブロック始点での切削面垂直方向指令(IS,JS,KS)からブロック終点での切削面垂直方向指令(IE,JE,KE)まで補間処理して補間周期毎の切削面垂直方向補間ベクトル(It,Jt,Kt)を求める。なお、この切削面垂直方向補間ベクトル(It,Jt,Kt)は、単位ベクトルとして求める。
(3) 読み込んだブロックにおける始点と終点での工具方向指令A,Cからブロック始点での工具方向ベクトル(TSx,TSy,TSz)、ブロック終点での工具方向ベクトル(TEx,TEy,TEz)を求める。この求め方は、ボールエンドミルの(4)で記載した求め方と同じである。
(4) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)からブロック終点での工具方向ベクトル(TEx,TEy,TEz)まで補間処理して工具方向補間ベクトル(Ttx,Tty,Ttz)を求める。なお、この工具方向補間ベクトル(Ttx,Tty,Ttz)も単位ベクトルとして求める。
(5) 切削面垂直方向補間ベクトル(It,Jt,Kt)にコーナR補正量CRをかけて、コーナR補正ベクトル(CCx,CCy,CCz)を求める。
(6) 工具方向補間ベクトル(Ttx,Tty,Ttz)と切削面垂直方向補間ベクトル(It,Jt,Kt)が成す平面上での工具方向補間ベクトル(Ttx,Tty,Ttz)を90度回転し(回転させる方法は、スクエアエンドミルと同じ)、その90度回転したベクトルに工具径補正量TRからコーナR補正量CRを差し引いた値(TR−CR)をかけて、工具径補正ベクトル(TCx,TCy,TCz)を求める。
(7) 工具方向補間ベクトル(Ttx,Tty,Ttz)に工具長補正量TLからコーナR補正量CRを差し引いた値(TL−CR)をかけて、工具長補正ベクトル(TLx,TLy,TLz)を求める。
(8) 切削点補間位置(Xt,Yt,Zt)に、コーナR補正ベクトル(CCx,CCy,CCz)、工具径補正ベクトル(TCx,TCy,TCz)および工具長補正ベクトル(TLx,TLy,TLz)を加算して、直線軸制御点位置(Xc,Yc,Zc)を求める。この直線軸制御点位置(Xc,Yc,Zc)が補間周期における直線軸(X,Y,Z軸)の移動位置である。
(9) 工具方向ベクトル(Ttx,Tty,Ttz)を回転軸制御点位置(Ac,Cc)に変換する。この変換された回転軸制御点位置(Ac,Cc)が補間周期毎の回転軸(A,C軸)が移動する位置である。この変換方法は、上述したボールエンドミルの場合と同じである。
(1) 制御装置は、加工プログラムよりブロックの指令(X,Y,Z,A,C,I,J,K)を読込み、ブロック始点での切削点指令(XS,YS,ZS)の位置からブロック終点での切削点指令(XE,YE,ZE)への位置まで補間処理を補間周期毎行い、切削点補間位置(Xt,Yt,Zt)を求める。
(2) ブロック始点での切削面垂直方向指令(IS,JS,KS)からブロック終点での切削面垂直方向指令(IE,JE,KE)まで補間処理して補間周期毎の切削面垂直方向補間ベクトル(It,Jt,Kt)を求める。なお、この切削面垂直方向補間ベクトル(It,Jt,Kt)は、単位ベクトルとして求める。
(3) 読み込んだブロックにおける始点と終点での工具方向指令A,Cからブロック始点での工具方向ベクトル(TSx,TSy,TSz)、ブロック終点での工具方向ベクトル(TEx,TEy,TEz)を求める。この求め方は、ボールエンドミルの(4)で記載した求め方と同じである。
(4) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)からブロック終点での工具方向ベクトル(TEx,TEy,TEz)まで補間処理して工具方向補間ベクトル(Ttx,Tty,Ttz)を求める。なお、この工具方向補間ベクトル(Ttx,Tty,Ttz)も単位ベクトルとして求める。
(5) 切削面垂直方向補間ベクトル(It,Jt,Kt)にコーナR補正量CRをかけて、コーナR補正ベクトル(CCx,CCy,CCz)を求める。
(6) 工具方向補間ベクトル(Ttx,Tty,Ttz)と切削面垂直方向補間ベクトル(It,Jt,Kt)が成す平面上での工具方向補間ベクトル(Ttx,Tty,Ttz)を90度回転し(回転させる方法は、スクエアエンドミルと同じ)、その90度回転したベクトルに工具径補正量TRからコーナR補正量CRを差し引いた値(TR−CR)をかけて、工具径補正ベクトル(TCx,TCy,TCz)を求める。
(7) 工具方向補間ベクトル(Ttx,Tty,Ttz)に工具長補正量TLからコーナR補正量CRを差し引いた値(TL−CR)をかけて、工具長補正ベクトル(TLx,TLy,TLz)を求める。
(8) 切削点補間位置(Xt,Yt,Zt)に、コーナR補正ベクトル(CCx,CCy,CCz)、工具径補正ベクトル(TCx,TCy,TCz)および工具長補正ベクトル(TLx,TLy,TLz)を加算して、直線軸制御点位置(Xc,Yc,Zc)を求める。この直線軸制御点位置(Xc,Yc,Zc)が補間周期における直線軸(X,Y,Z軸)の移動位置である。
(9) 工具方向ベクトル(Ttx,Tty,Ttz)を回転軸制御点位置(Ac,Cc)に変換する。この変換された回転軸制御点位置(Ac,Cc)が補間周期毎の回転軸(A,C軸)が移動する位置である。この変換方法は、上述したボールエンドミルの場合と同じである。
こうして、各補間周期毎に求めた直線軸制御点位置(Xc,Yc,Zc)、回転軸制御点位置(Ac,Cc)に移動するように各軸を駆動するサーボモータを駆動制御することによって、加工が実行される。
以上のように、切削点列を指令して加工を行うときの直線軸(X、Y、Z軸)、回転軸(A、C軸)に対しては、上述したような補間処理がなされ、各補間周期毎の移動指令に基づいて加工が実行される。この加工の途中で、前述した特異点近傍で制御が不安定となったり、切り込みが過大となる場合がある。図9は、制御が不安定となる特異点近傍の説明図である。この例は、切削点指令の指令間隔距離は小さく、これに対して制御点の移動距離が大きいときという特異点で発生する制御が不安定となる例である(以下、この特異点を特異点1という)。この特異点1は次のような条件で発生する。
(イ) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)と切削面垂直方向指令(IS,JS,KS)の方向(向き)が近い。
(ロ) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)とブロック終点での工具方向ベクトル(TEx,TEy,TEz)の方向が近い。
(ハ) ブロック終点での工具方向ベクトル(TEx,TEy,TEz)と切削面垂直方向指令(IE,JE,KE)の方向が近く、それらの成す面での外積ベクトル(Vx,Vy,Vz)がブロック始点での工具方向ベクトル(TSx,TSy,TSz)と切削面垂直方向指令(IS,JS,KS)が成す面での外積ベクトル(Vx,Vy,Vz)と方向が大きく相違する。例えば180°くらい相違する。図9に示す例では、ブロック始点と終点で各ベクトルが同一平面上にあるとすれば、ブロック始点と終点の外積ベクトル(Vx,Vy,Vz)は、その符号が逆となり、180°相違している。その結果、この外積ベクトル(Vx,Vy,Vz)の単位ベクトル周りに(Ttx,Tty,Ttz)を90°回転させて求めたベクトルに工具径補正量TRを乗じて求める工具径補正ベクトル(TCx,TCy,TCz)も外積ベクトルの大きな変化に応じて大きく変化することになり、例えば180°程度変化することになる。図9には、工具径補正ベクトル(TCx,TCy,TCz)は、概略180°程度変化している例が示されている。
(イ) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)と切削面垂直方向指令(IS,JS,KS)の方向(向き)が近い。
(ロ) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)とブロック終点での工具方向ベクトル(TEx,TEy,TEz)の方向が近い。
(ハ) ブロック終点での工具方向ベクトル(TEx,TEy,TEz)と切削面垂直方向指令(IE,JE,KE)の方向が近く、それらの成す面での外積ベクトル(Vx,Vy,Vz)がブロック始点での工具方向ベクトル(TSx,TSy,TSz)と切削面垂直方向指令(IS,JS,KS)が成す面での外積ベクトル(Vx,Vy,Vz)と方向が大きく相違する。例えば180°くらい相違する。図9に示す例では、ブロック始点と終点で各ベクトルが同一平面上にあるとすれば、ブロック始点と終点の外積ベクトル(Vx,Vy,Vz)は、その符号が逆となり、180°相違している。その結果、この外積ベクトル(Vx,Vy,Vz)の単位ベクトル周りに(Ttx,Tty,Ttz)を90°回転させて求めたベクトルに工具径補正量TRを乗じて求める工具径補正ベクトル(TCx,TCy,TCz)も外積ベクトルの大きな変化に応じて大きく変化することになり、例えば180°程度変化することになる。図9には、工具径補正ベクトル(TCx,TCy,TCz)は、概略180°程度変化している例が示されている。
以上の(イ)、(ロ)、(ハ)の条件が発生すると、切削点(指令点)の間隔は小さくても対応する制御点(Xc,Yc,Zc)の動作は大きいということになり、図9に示すような例が発生する。図9に示す例では、ブロック始点では工具1の右側が切削点として指令されているがブロック終点では工具1の左側が切削点として指令されている場合を示しており、そのため、ブロック途中で工具径補正量の2倍程度の動作が発生する。このように工具径補正ベクトル(TCx,TCy,TCz)が大きく変化することから、この工具径補正ベクトル(TCx,TCy,TCz)を算出する計算誤差に起因して、制御点(Xc,Yc,Zc)が変動し、不安定な動作となる。
このような特異点により制御動作が不安定となる場合は、上述したスクエアエンドミルによる加工の場合以外にもラジアスエンドミルによる加工の場合にも生じる。
このような特異点により制御動作が不安定となる場合は、上述したスクエアエンドミルによる加工の場合以外にもラジアスエンドミルによる加工の場合にも生じる。
次に、切削点指令の位置間隔は大きいが、その間隔を加工するときの制御点の移動が小さく、ループ上に移動するような特異点で切り込み量過大となるケースを説明する(以下この特異点を特異点2という)。
図10は、この特異点2での動作説明図である。この特異点が発生する条件は次のような条件のときである。
(イ) ブロック始点での直線軸制御点(Xc,Yc,Zc)(以下、ブロック始点での直線軸制御点(XSc,YSc,ZSc)と表す)の位置とブロック終点での直線軸制御点(Xc,Yc,Zc)(以下、ブロック終点での直線軸制御点(XEc,YEc,ZEc)と表す)の位置が近い。
(ロ) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)とブロック終点での工具方向ベクトル(TEx,TEy,TEz)の方向が近い。
(ハ) ブロック始点での切削点指令(XS,YS,ZS)とブロック終点での切削点指令(XE,YE,ZE)の位置間の距離はある程度あり、ブロック始点での切削面垂直方向指令(IS,JS,KS)とブロック終点での切削面垂直方向指令(IE,JE,KE)の方向が大きく相違する。
図10は、この特異点2での動作説明図である。この特異点が発生する条件は次のような条件のときである。
(イ) ブロック始点での直線軸制御点(Xc,Yc,Zc)(以下、ブロック始点での直線軸制御点(XSc,YSc,ZSc)と表す)の位置とブロック終点での直線軸制御点(Xc,Yc,Zc)(以下、ブロック終点での直線軸制御点(XEc,YEc,ZEc)と表す)の位置が近い。
(ロ) ブロック始点での工具方向ベクトル(TSx,TSy,TSz)とブロック終点での工具方向ベクトル(TEx,TEy,TEz)の方向が近い。
(ハ) ブロック始点での切削点指令(XS,YS,ZS)とブロック終点での切削点指令(XE,YE,ZE)の位置間の距離はある程度あり、ブロック始点での切削面垂直方向指令(IS,JS,KS)とブロック終点での切削面垂直方向指令(IE,JE,KE)の方向が大きく相違する。
図10で示す例では、ブロック始点と終点の切削面垂直方向指令(IS,JS,KS)(IE,JE,KE)の方向が、大きく相違し、始点での工具径補正ベクトル(TCSx,TCSy,TCSz)と終点での工具径補正ベクトル(TCEx,TCEy,TCEz)も大きく相違している。ブロックの始点と終点の工具方向ベクトル(TSx,TSy,TSz)、(TEx,TEy,TEz)の方向が近く、ブロックの始点と終点の工具長補正ベクトル(TLx,TLy,TLz)重なり合うような状態であり、切削点指令に工具径補正ベクトル、工具長補正ベクトルを加算して求める直線軸の制御点位置は小さなループ状の動作となる。図10で示す例では、指令ブロック中に直線軸制御点は動作しないことが期待されているが、実際は破線矢印で記載したようなループ状の動作をする。その結果、加工物への切り込みなどが発生するという問題がある。
この切削点指令の指令間隔距離は小さく、これに対して制御点の移動距離が大きいときという特異点2による過大切り込みが発生するという問題は、上述したボールエンドミル以外のスクエアエンドミルやラジアスエンドミルを使用する場合にも発生する。
そこで、本発明の目的は、前述した特異点近傍での不安定な動作や加工物への切り込みを防ぐことができる5軸加工機の制御方法を提供することにある。
本願請求項1に係る発明は、コーナR部を持たないミル工具を用い、予め設定されている工具径補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に各軸の制御点を求め該制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、予め設定されている工具径補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に切削点補間位置、切削面垂直方向補間ベクトル、工具方向補間ベクトル、工具径補正ベクトル、および工具長補正ベクトルを求め、切削面垂直方向補間ベクトルと前記工具方向補間ベクトルの成す角が第1の設定値よりも小くなった場合に、当該補間周期の工具径補正ベクトルを小さくなる直前の補間周期で計算された工具径補正ベクトルとし該工具径補正ベクトルおよび前記工具長補正ベクトルを前記切削点補間位置に加算して直線軸制御点を求め、その後の補間周期毎の計算において前記切削面垂直方向補間ベクトルと前記工具方向補間ベクトルの成す角が第1の設定値よりも大きくなった場合には、大きくなった直後の補間周期において求められた前記工具径補正ベクトルおよび前記工具長補正ベクトルを前記切削点補間位置に加算して直線軸制御点を求めて指定された速度で求められた直線軸の制御点を移動させることによって、動作が不安定となる特異点近傍の加工を安定させるようにした5軸加工機の数値制御方法である。
請求項2に係る発明は、コーナR部を持つミル工具を用い、予め設定されている工具径補正量、コーナR補正量および工具長補正量と、切削点、切削面垂直方向および工具方向が指令された加工プログラムに基づいて、補間周期毎に各軸の制御点を求め該制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、予め設定されている工具径補正量、コーナR補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に切削点補間位置、切削面垂直方向補間ベクトル、工具方向補間ベクトル、工具径補正ベクトル、コーナR補正ベクトル、工具長補正ベクトルを求め、前記切削面垂直方向補間ベクトルと前記工具方向補間ベクトルの成す角が第1の設定値よりも小さくなった場合に、当該補間周期の前記工具径補正ベクトルを小さくなる直前の補間周期で計算された工具径補正ベクトルとし、該工具径補正ベクトル、前記コーナR補正ベクトルおよび前記工具長補正ベクトルを前記切削点補間位置に加算して直線軸制御点を求め、その後の補間周期において前記切削面垂直方向補間ベクトルと前記工具方向補間ベクトルの成す角が第1の設定値よりも大きくなった場合は、大きくなった直後の補間周期において求められた前記工具径補正ベクトル、前記コーナR補正ベクトルおよび前記工具長補正ベクトルを前記切削点補間位置に加算して直線軸制御点を求めて指定された速度で求められた直線軸の制御点に移動させることによって、動作が不安定となる特異点近傍の加工を安定させるようにした5軸加工機の数値制御方法である。
請求項3に係る発明は、前記請求項1、2に係る発明において、前記指定された速度は切削点の移動速度がプログラム指令された速度、または各軸がパラメータで設定された各軸の最大速度を越えない最大速度としたものである。
請求項4に係る発明は、コーナR部を持たないミル工具もしくはボールエンドミルを用い、予め設定されている工具径補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に直線軸制御点および回転軸制御点を求め該各制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、ブロック毎にブロック始点および終点での切削点位置、直線軸制御点を求め、ブロック始点と終点における前記直線軸制御点間の距離が第2の設定値よりも小さく、かつ、ブロック始点と終点における前記切削点位置間の距離が第3の設定値よりも大きいと判断された場合、またはブロック始点と終点での前記直線軸制御点間の距離とブロック始点と終点での前記切削点位置間の距離の比が第4の設定値より小さいと判断された場合に、当該ブロック終点での直線軸制御点は当該ブロック始点での直線軸制御点と等しいとして当該ブロックでの指令による直線軸の動作を発生させないようにすることにより、直線軸がループ状に移動する特異点近傍での過大な切り込み発生を防止するようにした5軸加工機の数値制御方法である。
請求項5に係る発明は、請求項4に係る発明において、特異点近傍におけるブロックの指令において直線軸の動作を発生させないようにした点に代えて、当該ブロックの指令を直線移動指令としたものである。
請求項6に係る発明は、コーナR部を持つミル工具を用い、予め設定されている工具径補正量、コーナR補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に直線軸制御点および回転軸制御点を求め該各制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、ブロック毎にブロック始点および終点での切削点位置、直線軸制御点を求め、ブロック始点と終点における前記直線軸制御点間の距離が第2の設定値よりも小さく、かつ、ブロック始点と終点における前記切削点位置間の距離が第3の設定値よりも大きいと判断された場合、またはブロック始点と終点での前記直線軸制御点間の距離とブロック始点と終点での前記切削点位置間の距離の比が第4の設定値より小さいと判断された場合に、当該ブロック終点での直線軸制御点は当該ブロック始点での直線軸制御点と等しいとして当該ブロックでの指令による直線軸の動作を発生させないようにすることにより、直線軸がループ状に移動する特異点近傍での過大な切り込み発生を防止するようにした5軸加工機の数値制御方法である。
請求項7に係る発明は、請求項6に係る発明において、特異点近傍におけるブロックの指令において直線軸の動作を発生させないようにした点に代えて、当該ブロックの指令を直線移動指令としたものである。
直線軸3軸と回転軸2軸を有する5軸加工機において、切削点指令の指令間隔距離は小さいが直線軸の制御点の移動距離が大きくなるような特異点で生じる動作の不安定を防止することができる。又、切削点指令の位置間隔は大きいが、その間隔を加工するときの制御点の移動が小さくなる特異点で生じる切り込み量過大を防止することができる。
以下、本発明の実施形態について図面と共に説明する。
図11は、本発明を実施する制御装置の実施形態としての数値制御装置の要部ブロック図である。
図11は、本発明を実施する制御装置の実施形態としての数値制御装置の要部ブロック図である。
CPU11は数値制御装置10を全体的に制御するプロセッサである。プロセッサ11はバス20を介して、メモリ12、表示装置13、キーボード等の入力手段14、インタフェース15、各軸のサーボモータを駆動制御する各軸の軸制御回路16、スピンドル(主軸)を駆動制御するスピンドル制御回路18等と接続されている。メモリ12は、ROM、RAM、FRAM等で構成されている。プロセッサ11は、メモリ12に格納されたシステムプログラムを、バス20を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。さらに、メモリ12にはインタフェース15を介して読み込まれた切削点指令で構成されたプログラム等の加工プログラムや、表示装置13、入力手段14を介して入力された各種加工プログラムや各種設定データ等の各種データが格納される。なお、本発明に関係して、上述した特異点1,2の近傍を検出し、不安定動作や過大切り込みを防止するためのソフトウェアが従来と比較して新たにメモリ12に追加格納されている。
各軸の軸制御回路16はプロセッサ11からの各軸の移動指令量と各軸のサーボモータ22にそれぞれ内蔵する位置・速度検出器からの位置、速度フィードバック信号を受けて、位置・速度のフィードバック制御を行い、各軸の指令をサーボアンプ17に出力する。サーボアンプ17はこの指令を受けて、機械(制御対象物)の各軸(X軸、Y軸、Z軸、A軸、C軸)のそれぞれのサーボモータ22を駆動する。なお、図11では、位置・速度のフィードバックについては省略している。
また、スピンドル制御回路18はプロセッサ11からの主軸回転指令と、主軸の回転速度を検出する図示していないポジションコーダからの速度フィードバックを受けて、速度のフィードバック制御を行いスピンドルアンプ19にスピンドル速度信号を出力する。スピンドルアンプ19はスピンドル速度信号を受けてスピンドルモータ23を指令された回転速度で回転させる。
上述した数値制御装置のハードウェア構成は、従来と同じであり、相違点は、メモリ12内に上述した特異点1,2の近傍を検出し、不安定動作や過大切り込みを防止するためのソフトウェアが新たに追加して格納されている点である。
まず、特異点1近傍における動作不安定を解消する第1の実施形態について説明する。 図12は、特異点1の検出方法と、特異点が検出されたときの不安点な動作を回避する方法の説明図である。
前述したように、切削面垂直方向補間ベクトル(It,Jt,Kt)が求められ、かつ、工具方向補間ベクトル(Ttx,Tty,Ttz)が求められると、この2つのベクトルが成す角度αを求め、該角度αが予めパラメータ設定された値(Prm−α)より小さいか判別する。この角度αが設定値(Prm−α)より小さいということは、スクエアエンドミル又はラジアスエンドミルの先端平面と加工平面が平行に近い状態で、上述した特異点1が発生する条件(イ)〜(ハ)の条件を満たす可能性が高く、特異点1の近傍であることの可能性が高い。そのため、前記角度αが設定値(Prm−α)より小さいことが検出されたときは、工具径補正ベクトル(TCx,TCy,TCz)を前回の補間周期(1補間周期前)の工具径補正ベクトル(TCx,TCy,TCz)(以下この1補間周期前の工具径補正ベクトルを(TC0x,TC0y,TC0z)と記す)として、直線軸制御点位置(Xc,Yc,Zc)および回転軸制御点位置(Ac,Cc)を求めて、各軸を制御する。
前述したように、切削面垂直方向補間ベクトル(It,Jt,Kt)が求められ、かつ、工具方向補間ベクトル(Ttx,Tty,Ttz)が求められると、この2つのベクトルが成す角度αを求め、該角度αが予めパラメータ設定された値(Prm−α)より小さいか判別する。この角度αが設定値(Prm−α)より小さいということは、スクエアエンドミル又はラジアスエンドミルの先端平面と加工平面が平行に近い状態で、上述した特異点1が発生する条件(イ)〜(ハ)の条件を満たす可能性が高く、特異点1の近傍であることの可能性が高い。そのため、前記角度αが設定値(Prm−α)より小さいことが検出されたときは、工具径補正ベクトル(TCx,TCy,TCz)を前回の補間周期(1補間周期前)の工具径補正ベクトル(TCx,TCy,TCz)(以下この1補間周期前の工具径補正ベクトルを(TC0x,TC0y,TC0z)と記す)として、直線軸制御点位置(Xc,Yc,Zc)および回転軸制御点位置(Ac,Cc)を求めて、各軸を制御する。
工具径補正ベクトル(TCx,TCy,TCz)は、工具方向補間ベクトル(Ttx,Tty,Ttz)を90°回転させて工具径補正量TRをかけて得られるものであるから、1補間周期前までは、切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)が成す角度αは設定値(Prm−α)より小さくないものであったことから、1補間周期前の工具径補正ベクトル(TC0x,TC0y,TC0z)を用いれば、前記角度αは大きくなり、加工平面に対するミルの先端平面の角度は大きくなり、特異点1は解消し、動作の不安定は解消することになる。
なお、切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)が成す角度αが設定値(Prm−α)より小さいかの判断は、切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)の内積を求め、該内積によって判断する。すなわち、
cos(α)=(Ttx,Tty,Ttz)・(It,Jt,Kt)
cos(α)>cos(Prm−α)であれば、角度αは設定値(Prm−α)より小さいと判断する。
cos(α)=(Ttx,Tty,Ttz)・(It,Jt,Kt)
cos(α)>cos(Prm−α)であれば、角度αは設定値(Prm−α)より小さいと判断する。
さらに本実施形態では、一旦特異点1近傍とみなされ、1補間周期前の工具径補正ベクトル(TC0x,TC0y,TC0z)を用いた後、前記角度αが設定値(Prm−α)より大きくなり、特異点1が解消したと判断されたときには、通常の工具径補正ベクトル(TCx,TCy,TCz)を用いて制御点の位置を求めるが、この復帰のとき、制御点の移動速度は指令された速度(方式1)、または最大速度(方式2)の2つの方式を選択できるようにしている。
図13は、この第1の実施形態における特異点1の検出処理と該特異点近傍での動作不安定を防ぐ処理の中心としたアルゴリズムを示す補間周期毎の処理フローチャートである。
まず、従来と同様に、数値制御装置のプロセッサ11は、加工プログラムよりブロックの指令(X,Y,Z,A,C,I,J,K)を読込み、従来と同様に補間処理を行い、
切削点補間位置(Xt,Yt,Zt)
切削面垂直方向補間ベクトル(It,Jt,Kt)
工具方向補間ベクトル(Ttx,Tty,Ttz)
工具径補正ベクトル(TCx,TCy,TCz)
工具長補正ベクトル(TLx,TLy,TLz)を求める。
まず、従来と同様に、数値制御装置のプロセッサ11は、加工プログラムよりブロックの指令(X,Y,Z,A,C,I,J,K)を読込み、従来と同様に補間処理を行い、
切削点補間位置(Xt,Yt,Zt)
切削面垂直方向補間ベクトル(It,Jt,Kt)
工具方向補間ベクトル(Ttx,Tty,Ttz)
工具径補正ベクトル(TCx,TCy,TCz)
工具長補正ベクトル(TLx,TLy,TLz)を求める。
さらに、ラジアスエンドミルが指定されている場合には、
コーナR補正ベクトル(CCx,CCy,CCz)も求める(ステップa1)。
補間周期毎上述した位置、ベクトルを求める点は従来と同じである。
コーナR補正ベクトル(CCx,CCy,CCz)も求める(ステップa1)。
補間周期毎上述した位置、ベクトルを求める点は従来と同じである。
次に、プログラムで指定されている工具がボールエンドミルか否か判断する(ステップa2)。ボールエンドミルが指定されている場合には、この特異点1の現象は発生しないものであることから、ステップa7に移行し、従来と同様に直線軸制御点位置、回転軸制御点位置を求め、求めた各軸の位置への移動指令を各軸制御回路16に出力し、各軸のサーボモータ22を駆動制御する。
一方、ステップa2で、指令された工具がスクエアエンドミル又はラジアスエンドミルで、ボールエンドミルではない場合には、ステップa3に移行し、切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)の内積がの値が、パラメータで設定された値(Prm−α)の余弦値cos(Prm−α)より大きいか判断し、切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)が成す角度αが設定値(Prm−α)より小さいか判断する。
前記角度αが設定値(Prm−α)より小さくないと判断されると、フラグFAが「1」にセットされているか判断する(ステップa8)。なお、フラグFAは所期設定で「0」が設定されている。フラグFAが「1」でなければ、切削点の速度をプログラムで指令された速度とする(ステップa12)。そして、1補間周期前の工具径補正ベクトル(TC0x,TC0y,TC0z)を記憶するレジスタに、ラジアスエンドミルが指定されている場合には、さらに、1補間周期前のコーナR補正ベクトル(CC0x,CC0y,CC0z)を記憶するレジスタに当該周期のステップa1で求められた工具径補正ベクトル(TCx,TCy,TCz)、コーナR補正ベクトル(CCx,CCy,CCz)を格納する。
そして、直線軸制御点位置、回転軸制御点位置を求める。すなわち、指定工具がスクエアエンドミルの場合には、切削点補間位置(Xt,Yt,Zt)に工具径補正ベクトル(TCx,TCy,TCz)と工具長補正ベクトル(TLx,TLy,TLz)を加算して、直線軸制御点位置(Xc,Yc,Zc)を求め、工具方向補間ベクトル(Ttx,Tty,Ttz)より回転軸制御点位置(Ac,Cc)を求める。一方、指定工具がラジアスエンドミルの場合には、切削点補間位置(Xt,Yt,Zt)に、コーナR補正ベクトル(CCx,CCy,CCz)、工具径補正ベクトル(TCx,TCy,TCz)および工具長補正ベクトル(TLx,TLy,TLz)を加算して、直線軸制御点位置(Xc,Yc,Zc)を求め、工具方向補間ベクトル(Ttx,Tty,Ttz)より回転軸制御点位置(Ac,Cc)を求める(ステップa7)。こうして求めた各軸の位置への移動指令を各軸制御回路16に出力し、各軸のサーボモータ22を駆動制御する。
一方、ステップa3で、切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)が成す角度αが設定値(Prm−α)より小さいと判断されたときは、フラグFAを「1」にセットし(ステップa4)、レジスタに記憶する1補間周期前の工具径補正ベクトル(TC0x,TC0y,TC0z)を当該周期の工具径補正ベクトル(TCx,TCy,TCz)、1補間周期前のコーナR補正ベクトル(CC0x,CC0y,CC0z)を当該周期のコーナR補正ベクトル(CCx,CCy,CCz)とする(ステップa5)。そして、前述したステップa6の処理を実行し、当該周期で使用する工具径補正ベクトル(TCx,TCy,TCz)、コーナR補正ベクトル(CCx,CCy,CCz)をレジスタ格納し、次の補間周期において1補間周期前の工具径補正ベクトル(TC0x,TC0y,TC0z)、コーナR補正ベクトル(CC0x,CC0y,CC0z)とする。
次に、前述したステップa7の処理を実行し、直線軸制御点位置(Xc,Yc,Zc)、回転軸制御点位置(Ac,Cc)を求めるが、この場合、ステップa5で、工具径補正ベクトル(TCx,TCy,TCz)、コーナR補正ベクトル(CCx,CCy,CCz)が1補間周期前の工具径補正ベクトル(TC0x,TC0y,TC0z)、1補間周期前のコーナR補正ベクトル(CC0x,CC0y,CC0z)とされていることから、これを用いて直線軸制御点位置(Xc,Yc,Zc)、回転軸制御点位置(Ac,Cc)が求められることになり、切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)との成す角度αが設定された値(Prm−α)より大きくなり、特異点1は解消され、不安定な動作を防ぐことができる。
こうして、ステップa3で「Yes」と判断され、切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)との成す角度αが設定された値(Prm−α)より小さいと判断される限り、各補間周期毎、ステップa1〜a7の処理が実行され、切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)との成す角度αが設定された値(Prm−α)より小さくならないように、直線軸制御点位置(Xc,Yc,Zc)、回転軸制御点位置(Ac,Cc)が求められ、各軸が該位置に移動するように制御される。
ステップa3で切削面垂直方向補間ベクトル(It,Jt,Kt)と工具方向補間ベクトル(Ttx,Tty,Ttz)との成す角度αが設定された値(Prm−α)より大きいと判断され、ステップa8でフラグFAが「1」と判断されたとき(前補間周期まで、前記角度αが設定値(Prm−α)より小さいと判断され、当該周期でα≧(Prm−α)と判断されたとき)、フラグFAを「0」にセットし(ステップa9)、設定パラメータ(Prm−BF)が「1」に設定されているか否か判断する(ステップa10)。この設定パラメータ(Prm−BF)は、使用する切削点の移動速度として、指令された速度か最大速度かを選択するものであり、「1」と設定され立てる場合には、指令された速度を用い、「0」が設定されている場合には、切削点の速度が各軸パラメータで設定された最大速度を超えない最大速度に変更する。この切削点の速度を最大速度に変更理由は、一旦特異点1近傍とみなされた後において特異点1でないとみなされたときの補間周期で急激な速度で移動する恐れがあることから、このような過大速度で移動させないようにしたものである。
こうして速度が変更又は維持されてステップa6に移行する。次の補間周期では、ステップa1で、この設定された速度で補間処理が実行されて各データが求められが、ステップa11で最大速度に変更されている場合には、この最大速度で補間処理がなされ、各データが求められることになる。
そして、その次の周期では、フラグFAがステップa9で「0」にセットされているから、ステップa8から、ステップa12に移行し、速度は通常の指令された速度に戻されることになる。
そして、その次の周期では、フラグFAがステップa9で「0」にセットされているから、ステップa8から、ステップa12に移行し、速度は通常の指令された速度に戻されることになる。
図14は、本発明の第2の実施形態が実施する特異点2の検出方法と、特異点2が検出されたときの切り込みが過大となる動作を回避する方法の説明図である。この第2の実施形態は使用工具がボールエンドミルの例を記載している。なお、この図14では、ブロック始点での工具長補正ベクトル(TLSx,TLSy,TLSz)とブロック終点での工具長補正ベクトル(TLEx,TLEy,TLEz)、およびブロック始点での直線軸制御点(XSc,YSc,ZSc)とブロック終点での直線軸制御点(XEc,YEc,ZEc)はそれぞれ相違するベクトルおよび位置であるが、特異点2近傍においてはそれらのベクトル、位置は近いため便宜上同じ矢印、位置で表している。
又、図15は、この第2の実施形態における特異点2の検出処理と該特異点近傍での動作不安定を防ぐ処理の中心としたアルゴリズムを示すブロック単位で行う処理フローチャートである。
この第2の実施形態では、ブロック始点での直線軸制御点(XSc,YSc,ZSc)の位置とブロック終点での直線軸制御点(XEc,YEc,ZEc)の位置との間の距離と、ブロック始点での切削点指令(XS,YS,ZS)の位置とブロック終点での切削点指令(XE,YE,ZE)の位置間の距離によって、この特異点2の近傍か否か判別し、特異点の近傍であると、当該ブロックの直線軸制御点の移動を停止させるか、当該ブロックの移動を直線移動とすることによって、特異点2に対処して切り込み等が発生することを防止する。そのために、ブロック始点での直線軸制御点(XSc,YSc,ZSc)とブロック終点での直線軸制御点(XEc,YEc,ZEc)の距離CDが小さいか否かを判別するための基準となる距離をパラメータにより設定値(Prm−C)として設定しておく。又、ブロック始点での切削点指令(XS,YS,ZS)とブロック終点での切削点指令(XE,YE,ZE)の距離PDにより、特異点2を判断するための基準となる値(Prm−P)をパラメータで設定しておく。この2つのパラメータ設定値により特異点2か否かを判断する。
この第2の実施形態では、ブロック始点での直線軸制御点(XSc,YSc,ZSc)の位置とブロック終点での直線軸制御点(XEc,YEc,ZEc)の位置との間の距離と、ブロック始点での切削点指令(XS,YS,ZS)の位置とブロック終点での切削点指令(XE,YE,ZE)の位置間の距離によって、この特異点2の近傍か否か判別し、特異点の近傍であると、当該ブロックの直線軸制御点の移動を停止させるか、当該ブロックの移動を直線移動とすることによって、特異点2に対処して切り込み等が発生することを防止する。そのために、ブロック始点での直線軸制御点(XSc,YSc,ZSc)とブロック終点での直線軸制御点(XEc,YEc,ZEc)の距離CDが小さいか否かを判別するための基準となる距離をパラメータにより設定値(Prm−C)として設定しておく。又、ブロック始点での切削点指令(XS,YS,ZS)とブロック終点での切削点指令(XE,YE,ZE)の距離PDにより、特異点2を判断するための基準となる値(Prm−P)をパラメータで設定しておく。この2つのパラメータ設定値により特異点2か否かを判断する。
また、特異点2を判別する別の方法として、ブロック始点での直線軸制御点(XSc,YSc,ZSc)とブロック終点での直線軸制御点(XEc,YEc,ZEc)の距離CDとブロック始点での切削点指令(XS,YS,ZS)とブロック終点での切削点指令(XE,YE,ZE)の距離PDの比(CD/PD)によって判断するものとして、その判断基準をの設定値(Prm−R)をパラメータで設定しておく。そして、特異点2の判別をどちらの方法で行うかを選択できるようにしており、この選択もパラメータで設定するものとし、設定パラメータ(Prm−SB)=0の場合、前者の距離CD、PDにより、設定パラメータ(Prm−SB)=1の場合、後者の比(CD/PD)によって判断するようにしている。さらに、本実施形態では、特異点2近傍とみなされた場合、ブロック終点での直線軸制御点位置(XEc,YEc,ZEc)をブロック始点での直線軸制御点位置(XSc,YSc,ZSc)と同じとし、直線軸制御点の動作を発生させないようにするか、または、直線軸についてはブロック始点での直線軸制御点位置(XSc,YSc,ZSc)からブロック終点での直線軸制御点位置(XEc,YEc,ZEc)への移動動作を直線の動作とするかを、選択できるようにしており、この選択をパラメータ設定で行うようにしており、設定パラメータ(Prm−B4)=0の場合は、直線軸制御点の動作を発生させないようにし、設定パラメータ(Prm−B4)=1の場合は、直線移動を選択するとするようにしている。なお、上述した各パラメータ設定については、パラメータ設定の代わりに、プログラム指令や信号によるようにしてもよいものである。
指令ブロックを読み取り、該ブロックの始点の切削点指令(XS,YS,ZS)および切削面垂直方向指令(IS,JS,KS)を求める。ブロック始点での切削面垂直方向指令(IS,JS,KS)に工具径補正量TRを掛けて、ブロック始点での工具径補正ベクトル(TCSx,TCSy,TCSz)を求める。なお、切削面垂直方向指令(IS,JS,KS)は単位ベクトルであるとしている。また、指令されたブロック始点およびブロック終点での工具方向指令A、Cから、ブロック始点での工具方向ベクトル(TSx,TSy,TSz)を求める。求めたブロック始点での工具方向ベクトル(TSx,TSy,TSz)に(工具長補正量TL−工具径補正量TR)を掛けて、ブロック始点での工具長補正ベクトル(TLSx,TLSy,TLSz)を求める。ブロック始点での切削点指令(XS,YS,ZS)にブロック始点での工具径補正ベクトル(TCSx,TCSy,TCSz)とブロック始点での工具長補正ベクトル(TLSx,TLSy,TLSz)を加算し、ブロック始点での直線軸制御点(XSc,YSc,ZSc)を求める(ステップb1)。
この始点で直線軸制御点(XSc,YSc,ZSc)を求める処理は、前述した補間点の直線軸制御点(Xc,Yc,Zc)を求めるときと同一の方法であり、詳細は省略する。
この始点で直線軸制御点(XSc,YSc,ZSc)を求める処理は、前述した補間点の直線軸制御点(Xc,Yc,Zc)を求めるときと同一の方法であり、詳細は省略する。
次に、ブロックの終点での切削点指令(XE,YE,ZE)および切削面垂直方向指令(IE,JE,KE)を求める。このブロック終点での切削面垂直方向指令(IE,JE,KE)に工具径補正量TRを掛けて、ブロック終点での工具径補正ベクトル(TCEx,TCEy,TCEz)を求める。なお、切削面垂直方向指令(IE,JE,KE)は単位ベクトルであるとしている。指令されたブロック始点およびブロック終点での工具方向指令A、Cから、ブロック終点での工具方向ベクトル(TEx,TEy,TEz)を求める。このブロック終点での工具方向ベクトル(TEx,TEy,TEz)に(工具長補正量TL−工具径補正量TR)を掛けて、ブロック終点での工具長補正ベクトル(TLEx,TLEy,TLEz)を求める。
ブロック終点での切削点指令(XE,YE,ZE)にブロック終点での工具径補正ベクトル(TCEx,TCEy,TCEz)とブロック終点での工具長補正ベクトル(TLEx,TLEy,TLEz)を加算し、ブロック終点での直線軸制御点(XEc,YEc,ZEc)を求める(ステップb2)。
ブロック終点での切削点指令(XE,YE,ZE)にブロック終点での工具径補正ベクトル(TCEx,TCEy,TCEz)とブロック終点での工具長補正ベクトル(TLEx,TLEy,TLEz)を加算し、ブロック終点での直線軸制御点(XEc,YEc,ZEc)を求める(ステップb2)。
なお、この終点で直線軸制御点(XEc,YEc,ZEc)を求める処理は、前述した補間点の直線軸制御点(Xc,Yc,Zc)を求めるときと同一の方法であり、詳細は省略する。又、ブロックの終点は、次のブロックの終点であることから、ブロックの終点で求めた各データは、次のブロックの始点のデータとして使用できることから、次のブロックからは、ステップb1の処理は、前周期のステップb2で求めたブロック終点の各データを当該ブロックの始点データとして置き換えてもよいものである。
次に、ブロック始点での直線軸制御点(XSc,YSc,ZSc)とブロック終点での直線軸制御点(XEc,YEc,ZEc)の距離CD、および、ブロック始点での切削点指令(XS,YS,ZS)とブロック終点での切削点指令(XE,YE,ZE)の距離PD求める(ステップb3)。
そして、設定パラメータ(Prm−SB)の値が「0」か判断し(ステップb4)、「0」ならば、距離CD、PDによって特異点2か否かを判断するものとし、まず、求めたブロック始点、終点の直線軸制御点間の距離CDが設定値(Prm−C)よりも小さいか判断する(ステップb5)。距離CDが設定値(Prm−C)以上のときには当該処理は終了する。又、距離CDが設定値(Prm−C)より小さいときには、ブロック始点、終点での切削点指令間の距離PDが設定値(Prm−P)よりも大きいか判断する(ステップb6)。距離PDが設定値(Prm−P)以下のときは、当該処理は終了する。一方、距離PDが設定値(Prm−P)より大きいときには、特異点2近傍であると判別してステップb7に移行する。すなわち、ブロック始点、終点の直線軸制御点間の距離CDが小さく、ブロック始点、終点での切削点指令間の距離PDが大きいときには、このブロックの指令による加工は特異点2の近傍の加工であると判定する。
又、設定パラメータ(Prm−SB)の値が「1」と設定されているときは、距離CDとPDの比(CD/PD)が設定値(Prm−R)より小さいか判別し、小さくないときには特異点2の近傍ではないとして、当該処理を終了する。一方、距離CDとPDの比(CD/PD)が設定値(Prm−R)より小さいときには、当該ブロックによる加工は特異点2近傍の加工であると判別し、ステップb7に移行する。
このようにして特異点2の近傍と判別されたときは、ステップb7で、設定パラメータ(Prm−B4)が「1」に設定されているか判別し、設定パラメータ(Prm−B4)=0の場合は、当該ブロックの終点での直線軸制御点位置(XEc,YEc,ZEc)を当該ブロック始点での直線軸制御点位置(XSc,YSc,ZSc)にセットする(ステップb8)。その結果、当該ブロックの補間処理が実行されたとき、直線軸のXYZ軸への移動指令は発生しないことになる。一方、設定パラメータ(Prm−B4)が「1」に設定されている場合は、当該ブロックにおける直線軸に対してブロック始点での直線軸制御点位置(XSc,YSc,ZSc)からブロック終点での直線軸制御点位置(XEc,YEc,ZEc)への移動指令として直線の動作を指令する(ステップb9)。このことにより、ループ状の不安定な動作を発生させないものとなり、加工物への過大な切り込みを防止できる。
上述した第2の実施形態では、工具としてボールアンドミルを使用した例を説明したが、この特異点2の現象は、使用工具がスクエアエンドミルやラジアスエンドミルの場合でも発生するものであり、使用工具がスクエアエンドミルやラジアスエンドミルの場合でも同様にして、特異点2近傍を検出し、同様な処理を行うことによって、ループ状の不安定な動作の発生を防止し、加工物への過大な切り込みを防止する。
使用工具がボールアンドミルではなく、スクエアエンドミルやラジアスエンドミルを使用するときは、図15におけるステップb1、b2で求めるデータが相違するだけで、ステップb3以下の処理は同じである。
使用工具がボールアンドミルではなく、スクエアエンドミルやラジアスエンドミルを使用するときは、図15におけるステップb1、b2で求めるデータが相違するだけで、ステップb3以下の処理は同じである。
スクエアエンドミルの場合は、
始点での次のデータを求める。
切削点指令(XS,YS,ZS)
切削面垂直方向指令(IS,JS,KS)
工具径補正ベクトル(TCSx,TCSy,TCSz)
工具方向ベクトル(TSx,TSy,TSz)
工具長補正ベクトル(TLSx,TLSy,TLSz)
直線軸制御点(XSc,YSc,ZSc)
(XSc,YSc,ZSc)=(XS,YS,ZS)+(TCSx,TCSy,TCSz)+ (TLSx,TLSy,TLSz)
また、終点での次のデータを求める。
切削点指令(XE,YE,ZE)
切削面垂直方向指令(IE,JE,KE)
工具径補正ベクトル(TCEx,TCEy,TCEz)
工具方向ベクトル(TEx,TEy,TEz)
工具長補正ベクトル(TLEx,TLEy,TLEz)
直線軸制御点(XEc,YEc,ZEc)
(XEc,YEc,ZEc)=(XE,YE,ZE)+(TCEx,TCEy,TCEz)+ (TLEx,TLEy,TLEz)
なお、ブロックの始点、終点での工具径補正ベクトル、工具方向ベクトル、および工具長補正ベクトルの求め方は、図6で説明した補間点での工具径補正ベクトル、工具方向ベクトル、および工具長補正ベクトルを求める方法と同等であり、説明を省略する。
始点での次のデータを求める。
切削点指令(XS,YS,ZS)
切削面垂直方向指令(IS,JS,KS)
工具径補正ベクトル(TCSx,TCSy,TCSz)
工具方向ベクトル(TSx,TSy,TSz)
工具長補正ベクトル(TLSx,TLSy,TLSz)
直線軸制御点(XSc,YSc,ZSc)
(XSc,YSc,ZSc)=(XS,YS,ZS)+(TCSx,TCSy,TCSz)+ (TLSx,TLSy,TLSz)
また、終点での次のデータを求める。
切削点指令(XE,YE,ZE)
切削面垂直方向指令(IE,JE,KE)
工具径補正ベクトル(TCEx,TCEy,TCEz)
工具方向ベクトル(TEx,TEy,TEz)
工具長補正ベクトル(TLEx,TLEy,TLEz)
直線軸制御点(XEc,YEc,ZEc)
(XEc,YEc,ZEc)=(XE,YE,ZE)+(TCEx,TCEy,TCEz)+ (TLEx,TLEy,TLEz)
なお、ブロックの始点、終点での工具径補正ベクトル、工具方向ベクトル、および工具長補正ベクトルの求め方は、図6で説明した補間点での工具径補正ベクトル、工具方向ベクトル、および工具長補正ベクトルを求める方法と同等であり、説明を省略する。
ラジアスエンドミルの場合は、
始点での次のデータを求める。
切削点指令(XS,YS,ZS)
切削面垂直方向指令(IS,JS,KS)
コーナR補正ベクトル(CCSx, CCSy,CCSz)
工具径補正ベクトル(TCSx,TCSy,TCSz)
工具方向ベクトル(TSx,TSy,TSz)
工具長補正ベクトル(TLSx,TLSy,TLSz)
直線軸制御点(XSc,YSc,ZSc)
(XSc,YSc,ZSc)=(XS,YS,ZS)+(CCSx, CCSy,CCSz)+(TCSx,TCSy,TCSz)+(TLSx,TLSy,TLSz)
また、終点での次のデータを求める。
切削点指令(XE,YE,ZE)
切削面垂直方向指令(IE,JE,KE)
コーナR補正ベクトル(CCEx, CCEy,CCEz)
工具径補正ベクトル(TCEx,TCEy,TCEz)
工具方向ベクトル(TEx,TEy,TEz)
工具長補正ベクトル(TLEx,TLEy,TLEz)
直線軸制御点(XEc,YEc,ZEc)
(XEc,YEc,ZEc)=(XE,YE,ZE)+(CCEx, CCEy,CCEz) +(TCEx,TCEy,TCEz)+ (TLEx,TLEy,TLEz)
なお、ブロック始点、終点でのコーナR補正ベクトル、工具径補正ベクトル、工具方向ベクトル、および工具長補正ベクトルの求め方は、図7で説明した補間点での工具径補正ベクトル、工具方向ベクトル、および工具長補正ベクトルを求める方法と同等であり、説明を省略する。
始点での次のデータを求める。
切削点指令(XS,YS,ZS)
切削面垂直方向指令(IS,JS,KS)
コーナR補正ベクトル(CCSx, CCSy,CCSz)
工具径補正ベクトル(TCSx,TCSy,TCSz)
工具方向ベクトル(TSx,TSy,TSz)
工具長補正ベクトル(TLSx,TLSy,TLSz)
直線軸制御点(XSc,YSc,ZSc)
(XSc,YSc,ZSc)=(XS,YS,ZS)+(CCSx, CCSy,CCSz)+(TCSx,TCSy,TCSz)+(TLSx,TLSy,TLSz)
また、終点での次のデータを求める。
切削点指令(XE,YE,ZE)
切削面垂直方向指令(IE,JE,KE)
コーナR補正ベクトル(CCEx, CCEy,CCEz)
工具径補正ベクトル(TCEx,TCEy,TCEz)
工具方向ベクトル(TEx,TEy,TEz)
工具長補正ベクトル(TLEx,TLEy,TLEz)
直線軸制御点(XEc,YEc,ZEc)
(XEc,YEc,ZEc)=(XE,YE,ZE)+(CCEx, CCEy,CCEz) +(TCEx,TCEy,TCEz)+ (TLEx,TLEy,TLEz)
なお、ブロック始点、終点でのコーナR補正ベクトル、工具径補正ベクトル、工具方向ベクトル、および工具長補正ベクトルの求め方は、図7で説明した補間点での工具径補正ベクトル、工具方向ベクトル、および工具長補正ベクトルを求める方法と同等であり、説明を省略する。
(X,Y,Z) 切削点指令
(XS,YS,ZS) ブロック始点の切削点指令
(XE,YE,ZE) ブロック終点の切削点指令
(Xt,Yt,Zt) 切削点補間位置
(I,J,K) 切削面垂直方向指令
(IS,JS,KS) ブロック始点での切削面垂直方向指令
(IE,JE,KE) ブロック終点での切削面垂直方向指令
(It,Jt,Kt) 切削面垂直方向補間ベクトル
(Tx,Ty,Tz) 工具方向ベクトル
(TSx,TSy,TSz) ブロック始点での工具方向ベクトル
(TEx,TEy,TEz) ブロック終点での工具方向ベクトル
(Ttx,Tty,Ttz) 工具方向補間ベクトル
(Xc,Yc,Zc) 直線軸の制御点
Ac、Cc 回転軸制御点位置
(TCx,TCy,TCz) 工具径補正ベクトル
(TLx,TLy,TLz) 工具長補正ベクトル
(CCx,CCy,CCz) コーナR補正ベクトル
(XS,YS,ZS) ブロック始点の切削点指令
(XE,YE,ZE) ブロック終点の切削点指令
(Xt,Yt,Zt) 切削点補間位置
(I,J,K) 切削面垂直方向指令
(IS,JS,KS) ブロック始点での切削面垂直方向指令
(IE,JE,KE) ブロック終点での切削面垂直方向指令
(It,Jt,Kt) 切削面垂直方向補間ベクトル
(Tx,Ty,Tz) 工具方向ベクトル
(TSx,TSy,TSz) ブロック始点での工具方向ベクトル
(TEx,TEy,TEz) ブロック終点での工具方向ベクトル
(Ttx,Tty,Ttz) 工具方向補間ベクトル
(Xc,Yc,Zc) 直線軸の制御点
Ac、Cc 回転軸制御点位置
(TCx,TCy,TCz) 工具径補正ベクトル
(TLx,TLy,TLz) 工具長補正ベクトル
(CCx,CCy,CCz) コーナR補正ベクトル
Claims (7)
- コーナR部を持たないミル工具を用い、予め設定されている工具径補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に各軸の制御点を求め該制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、
予め設定されている工具径補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に切削点補間位置、切削面垂直方向補間ベクトル、工具方向補間ベクトル、工具径補正ベクトル、および工具長補正ベクトルを求め、
切削面垂直方向補間ベクトルと前記工具方向補間ベクトルの成す角が第1の設定値よりも小くなった場合に、
当該補間周期の工具径補正ベクトルを小さくなる直前の補間周期で計算された工具径補正ベクトルとし該工具径補正ベクトルおよび前記工具長補正ベクトルを前記切削点補間位置に加算して直線軸制御点を求め、
その後の補間周期毎の計算において前記切削面垂直方向補間ベクトルと前記工具方向補間ベクトルの成す角が第1の設定値よりも大きくなった場合には、
大きくなった直後の補間周期において求められた前記工具径補正ベクトルおよび前記工具長補正ベクトルを前記切削点補間位置に加算して直線軸制御点を求めて指定された速度で求められた直線軸の制御点を移動させることを特徴とする5軸加工機の数値制御方法。 - コーナR部を持つミル工具を用い、予め設定されている工具径補正量、コーナR補正量および工具長補正量と、切削点、切削面垂直方向および工具方向が指令された加工プログラムに基づいて、補間周期毎に各軸の制御点を求め該制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、
予め設定されている工具径補正量、コーナR補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に切削点補間位置、切削面垂直方向補間ベクトル、工具方向補間ベクトル、工具径補正ベクトル、コーナR補正ベクトル、工具長補正ベクトルを求め、
前記切削面垂直方向補間ベクトルと前記工具方向補間ベクトルの成す角が第1の設定値よりも小さくなった場合に、
当該補間周期の前記工具径補正ベクトルを小さくなる直前の補間周期で計算された工具径補正ベクトルとし、該工具径補正ベクトル、前記コーナR補正ベクトルおよび前記工具長補正ベクトルを前記切削点補間位置に加算して直線軸制御点を求め、
その後の補間周期において前記切削面垂直方向補間ベクトルと前記工具方向補間ベクトルの成す角が第1の設定値よりも大きくなった場合は、
大きくなった直後の補間周期において求められた前記工具径補正ベクトル、前記コーナR補正ベクトルおよび前記工具長補正ベクトルを前記切削点補間位置に加算して直線軸制御点を求めて指定された速度で求められた直線軸の制御点に移動させることを特徴とする5軸加工機の数値制御方法。 - 前記指定された速度は切削点の移動速度がプログラム指令された速度、または各軸がパラメータで設定された各軸の最大速度を越えない最大速度である請求項1または請求項2記載の5軸加工機の数値制御方法。
- コーナR部を持たないミル工具もしくはボールエンドミルを用い、予め設定されている工具径補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に直線軸制御点および回転軸制御点を求め該各制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、
ブロック毎にブロック始点および終点での切削点位置、直線軸制御点を求め、
ブロック始点と終点における前記直線軸制御点間の距離が第2の設定値よりも小さく、かつ、ブロック始点と終点における前記切削点位置間の距離が第3の設定値よりも大きいと判断された場合、またはブロック始点と終点での前記直線軸制御点間の距離とブロック始点と終点での前記切削点位置間の距離の比が第4の設定値より小さいと判断された場合に、当該ブロック終点での直線軸制御点は当該ブロック始点での直線軸制御点と等しいとして当該ブロックでの指令による直線軸の動作を発生させないようにしたことを特徴とする5軸加工機の数値制御方法。 - コーナR部を持たないミル工具もしくはボールエンドミルを用い、予め設定されている工具径補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に直線軸制御点および回転軸制御点を求め該各制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、
ブロック毎にブロック始点および終点での切削点位置、直線軸制御点を求め、
ブロック始点と終点における前記直線軸制御点間の距離が第2の設定値よりも小さく、かつ、ブロック始点と終点における前記切削点位置間の距離が第3の設定値よりも大きいと判断された場合、またはブロック始点と終点での前記直線軸制御点間の距離とブロック始点と終点での前記切削点位置間の距離の比が第4の設定値より小さいと判断された場合に、当該ブロックの指令を直線移動指令とすることを特徴とする5軸加工機の数値制御方法。 - コーナR部を持つミル工具を用い、予め設定されている工具径補正量、コーナR補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に直線軸制御点および回転軸制御点を求め該各制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、
ブロック毎にブロック始点および終点での切削点位置、直線軸制御点を求め、
ブロック始点と終点における前記直線軸制御点間の距離が第2の設定値よりも小さく、かつ、ブロック始点と終点における前記切削点位置間の距離が第3の設定値よりも大きいと判断された場合、またはブロック始点と終点での前記直線軸制御点間の距離とブロック始点と終点での前記切削点位置間の距離の比が第4の設定値より小さいと判断された場合に、当該ブロック終点での直線軸制御点は当該ブロック始点での直線軸制御点と等しいとして当該ブロックでの指令による直線軸の動作を発生させないようにしたことを特徴とする5軸加工機の数値制御方法。 - コーナR部を持つミル工具を用い、予め設定されている工具径補正量、コーナR補正量および工具長補正量と、加工プログラムにより指令された切削点、切削面垂直方向および工具方向から、補間周期毎に直線軸制御点および回転軸制御点を求め該各制御点位置に各軸を駆動制御する直線軸3軸と回転軸2軸を有する5軸加工機を制御する数値制御方法において、
ブロック毎にブロック始点および終点での切削点位置、直線軸制御点を求め、
ブロック始点と終点における前記直線軸制御点間の距離が第2の設定値よりも小さく、かつ、ブロック始点と終点における前記切削点位置間の距離が第3の設定値よりも大きいと判断された場合、またはブロック始点と終点での前記直線軸制御点間の距離とブロック始点と終点での前記切削点位置間の距離の比が第4の設定値より小さいと判断された場合に、当該ブロックの指令を直線移動指令とすることを特徴とする5軸加工機の数値制御方法。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007131435A JP2008287471A (ja) | 2007-05-17 | 2007-05-17 | 5軸加工機の数値制御方法 |
| US12/081,757 US7869897B2 (en) | 2007-05-17 | 2008-04-21 | Numerical control method for five-axis processing machine |
| EP11178161A EP2390738B1 (en) | 2007-05-17 | 2008-04-22 | Numerical control method for five-axis processing machine |
| EP08154972A EP1993013B1 (en) | 2007-05-17 | 2008-04-22 | Numerical control method for five-axis processing machine |
| CN2008100965485A CN101308379B (zh) | 2007-05-17 | 2008-05-16 | 5轴加工机的数值控制方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007131435A JP2008287471A (ja) | 2007-05-17 | 2007-05-17 | 5軸加工機の数値制御方法 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008275869A Division JP4607993B2 (ja) | 2008-10-27 | 2008-10-27 | 5軸加工機の数値制御方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2008287471A true JP2008287471A (ja) | 2008-11-27 |
Family
ID=39684183
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007131435A Pending JP2008287471A (ja) | 2007-05-17 | 2007-05-17 | 5軸加工機の数値制御方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US7869897B2 (ja) |
| EP (2) | EP2390738B1 (ja) |
| JP (1) | JP2008287471A (ja) |
| CN (1) | CN101308379B (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010140312A (ja) * | 2008-12-12 | 2010-06-24 | Fanuc Ltd | 5軸加工機用数値制御装置 |
| CN103163830A (zh) * | 2011-12-12 | 2013-06-19 | 沈阳高精数控技术有限公司 | 一种五轴端铣刀补偿中运动突变现象的控制方法 |
| US8667475B2 (en) | 2010-11-02 | 2014-03-04 | Industrial Technology Research Institute | Computer-readable storage medium and program-converting method |
| JPWO2021095170A1 (ja) * | 2019-11-13 | 2021-05-20 |
Families Citing this family (35)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8024068B2 (en) * | 2006-08-04 | 2011-09-20 | Hurco Companies, Inc. | Machine tool control system |
| US8725283B2 (en) * | 2006-08-04 | 2014-05-13 | Hurco Companies, Inc. | Generalized kinematics system |
| JP4351281B2 (ja) * | 2007-12-13 | 2009-10-28 | ファナック株式会社 | 5軸加工機を制御する数値制御装置 |
| CN102365595B (zh) * | 2009-03-27 | 2014-03-26 | 三菱电机株式会社 | 数控装置以及该数控装置的控制方法 |
| JP5293389B2 (ja) * | 2009-05-07 | 2013-09-18 | 株式会社ジェイテクト | 工作機械の制御装置 |
| TWI402641B (zh) * | 2009-12-04 | 2013-07-21 | Ind Tech Res Inst | 聯結多系統達成多軸同步插值裝置與方法 |
| DE112010005362T5 (de) * | 2010-03-08 | 2012-12-27 | Mitsubishi Electric Corporation | Numerische-Steuerung-Vorrichtung und Steuerverfahren einer Numerische-Steuerung-Vorrichtung |
| JP4847613B2 (ja) * | 2010-05-10 | 2011-12-28 | ファナック株式会社 | 多軸加工機用数値制御装置 |
| CN101866162B (zh) * | 2010-06-12 | 2011-12-21 | 北京航空航天大学 | 点到曲面距离计算的邻近三角形方法 |
| JP5014471B2 (ja) * | 2010-06-30 | 2012-08-29 | ファナック株式会社 | 多軸加工機用数値制御装置 |
| CN102371505B (zh) * | 2010-08-18 | 2013-10-09 | 中国科学院沈阳计算技术研究所有限公司 | 五轴加工奇异区域的检测方法 |
| CN102566495B (zh) * | 2010-12-09 | 2014-05-07 | 中国科学院沈阳计算技术研究所有限公司 | 一种向导式多轴数控机床运动学参数配置方法 |
| JP5789114B2 (ja) * | 2011-04-04 | 2015-10-07 | オークマ株式会社 | 工作機械の補正値演算方法及びプログラム |
| CN102495585B (zh) * | 2011-12-26 | 2013-06-12 | 北京进取者软件技术有限公司 | 一种五轴数控机床玻璃磨花加工路径的生成方法 |
| CN102662351B (zh) * | 2012-03-18 | 2014-03-19 | 山东理工大学 | 面向圆柱凸轮加工的三轴联动轮廓误差补偿控制方法 |
| JP5289601B1 (ja) * | 2012-03-19 | 2013-09-11 | ファナック株式会社 | 多軸加工機用切削距離演算装置 |
| CN102649178B (zh) * | 2012-05-17 | 2013-07-31 | 西安交通大学 | 自由曲面离心压气机叶轮五坐标整体铣高效粗加工方法 |
| CN103901820B (zh) * | 2012-12-25 | 2016-12-28 | 安川电机(沈阳)有限公司 | 数值控制装置 |
| CN103223629A (zh) * | 2013-05-13 | 2013-07-31 | 大连大森数控技术发展中心有限公司 | 数控机床加工刀具的补偿方法 |
| JP5785224B2 (ja) * | 2013-07-08 | 2015-09-24 | ファナック株式会社 | 5軸加工機を制御する数値制御装置 |
| CN103659460B (zh) * | 2013-11-11 | 2015-09-02 | 宁波海天精工股份有限公司 | 在四轴卧式加工中心实现刀尖跟随加工的方法 |
| CN103869754A (zh) * | 2014-02-27 | 2014-06-18 | 安徽省捷甬达智能机器有限公司 | 一种数控加工方法 |
| JP6068414B2 (ja) | 2014-10-23 | 2017-01-25 | ファナック株式会社 | 曲率の小さな円弧・曲面の形状を指定可能な数値制御装置 |
| CN105302060B (zh) * | 2015-05-05 | 2018-06-08 | 沈阳理工大学 | 一种内回转表面正交车铣加工刀具长度补偿算法 |
| CN105269398B (zh) * | 2015-05-05 | 2018-06-08 | 沈阳理工大学 | 一种内回转表面正交车铣加工方法 |
| JP6396346B2 (ja) * | 2016-01-15 | 2018-09-26 | ファナック株式会社 | タレット回転による切込み制御機能を有する数値制御装置 |
| CN106735581B (zh) * | 2016-12-09 | 2018-09-28 | 上海维宏电子科技股份有限公司 | Ac五轴水切割误差补偿的方法及系统 |
| CN108188455B (zh) * | 2018-03-01 | 2024-07-30 | 浙江晨好智能科技有限公司 | 一种高速ac五轴联动双摆头 |
| JP7088820B2 (ja) * | 2018-12-17 | 2022-06-21 | ファナック株式会社 | 数値制御装置 |
| CN109753016A (zh) * | 2019-01-24 | 2019-05-14 | 西华大学 | 一种用于数控多轴联动刀具长度补偿的计算方法 |
| CN109933009A (zh) * | 2019-04-15 | 2019-06-25 | 天津工业大学 | 一种基于刀触点路径段的五轴线性插补方法 |
| US11815874B2 (en) * | 2019-04-30 | 2023-11-14 | C. R. Onsrud, Inc. | Aggregate programming method and system for CNC machines |
| CN110161963B (zh) * | 2019-06-14 | 2022-01-07 | 哈尔滨理工大学 | 铣刀切削加工误差形成过程的仿真模型与验证方法 |
| CN111687838B (zh) * | 2020-05-29 | 2023-10-13 | 深圳科瑞技术股份有限公司 | 机械手轨迹跟随误差的在线补偿方法、系统及存储介质 |
| CN114326586B (zh) * | 2021-12-15 | 2024-07-05 | 深圳泰德激光技术股份有限公司 | 几何误差补偿方法、装置、终端及计算机可读存储介质 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| IL89484A (en) * | 1989-03-03 | 1992-08-18 | Nct Ltd Numerical Control Tech | System for automatic finishing of machined parts |
| US5813287A (en) * | 1994-03-02 | 1998-09-29 | Renishaw Plc | Coordinate positioning machine |
| JPH09254062A (ja) | 1996-03-26 | 1997-09-30 | Toyota Autom Loom Works Ltd | 産業用ロボットの姿勢決定方法及び姿勢決定装置 |
| US6050475A (en) * | 1998-05-29 | 2000-04-18 | Mcdonnell Douglas Corporation | Method and apparatus for controlling downforce during friction stir welding |
| US6934601B2 (en) * | 1999-09-20 | 2005-08-23 | Hitachi, Ltd. | Numerically controlled curved surface machining unit |
| JP3763734B2 (ja) * | 2000-10-27 | 2006-04-05 | 株式会社日立製作所 | パネル部材の加工方法 |
| DE60123379T2 (de) * | 2001-02-26 | 2007-01-11 | Hitachi, Ltd. | Numerisch gesteuerte Bearbeitungseinheit für gekrümmte Flächen |
| EP1302829B1 (en) | 2001-10-16 | 2008-11-26 | Fanuc Ltd | Numerical controller |
| JP4101665B2 (ja) | 2003-01-16 | 2008-06-18 | 三菱電機株式会社 | 数値制御装置 |
| US7283889B2 (en) * | 2003-02-19 | 2007-10-16 | Fanuc Ltd | Numerical control device, and numerical control method |
| DE10330828B4 (de) * | 2003-07-08 | 2006-09-21 | Mtu Aero Engines Gmbh | Verfahren und Vorrichtung zum Fräsen von Freiformflächen |
| JP4199103B2 (ja) | 2003-12-19 | 2008-12-17 | ファナック株式会社 | 数値制御装置及び数値制御方法 |
-
2007
- 2007-05-17 JP JP2007131435A patent/JP2008287471A/ja active Pending
-
2008
- 2008-04-21 US US12/081,757 patent/US7869897B2/en active Active
- 2008-04-22 EP EP11178161A patent/EP2390738B1/en not_active Not-in-force
- 2008-04-22 EP EP08154972A patent/EP1993013B1/en active Active
- 2008-05-16 CN CN2008100965485A patent/CN101308379B/zh active Active
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010140312A (ja) * | 2008-12-12 | 2010-06-24 | Fanuc Ltd | 5軸加工機用数値制御装置 |
| US8667475B2 (en) | 2010-11-02 | 2014-03-04 | Industrial Technology Research Institute | Computer-readable storage medium and program-converting method |
| CN103163830A (zh) * | 2011-12-12 | 2013-06-19 | 沈阳高精数控技术有限公司 | 一种五轴端铣刀补偿中运动突变现象的控制方法 |
| JPWO2021095170A1 (ja) * | 2019-11-13 | 2021-05-20 | ||
| WO2021095170A1 (ja) * | 2019-11-13 | 2021-05-20 | 三菱電機株式会社 | 加工プログラム変換装置、数値制御装置および加工プログラムの変換方法 |
| JP7175403B2 (ja) | 2019-11-13 | 2022-11-18 | 三菱電機株式会社 | 加工プログラム変換装置、数値制御装置および加工プログラムの変換方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20080288103A1 (en) | 2008-11-20 |
| US7869897B2 (en) | 2011-01-11 |
| EP2390738B1 (en) | 2013-03-06 |
| CN101308379A (zh) | 2008-11-19 |
| EP1993013A3 (en) | 2011-05-18 |
| EP1993013A2 (en) | 2008-11-19 |
| EP2390738A1 (en) | 2011-11-30 |
| CN101308379B (zh) | 2010-08-25 |
| EP1993013B1 (en) | 2012-08-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2008287471A (ja) | 5軸加工機の数値制御方法 | |
| JP4847613B2 (ja) | 多軸加工機用数値制御装置 | |
| JP5132842B1 (ja) | 数値制御装置 | |
| TWI381256B (zh) | 用於控制一工具機系統之複數個可移動軸之移動之系統、方法及電腦可讀媒體 | |
| JP5220183B2 (ja) | 数値制御装置および当該数値制御装置の制御方法 | |
| US8244386B2 (en) | Machine tool system control having automatic safe repositioning | |
| JP6703038B2 (ja) | 数値制御装置 | |
| JP4607993B2 (ja) | 5軸加工機の数値制御方法 | |
| JP5019001B2 (ja) | 数値制御方法及びその装置 | |
| JP5615377B2 (ja) | 工具経路の生成方法および生成装置 | |
| JP6012560B2 (ja) | 数値制御装置 | |
| JPWO2019012692A1 (ja) | 数値制御装置および数値制御方法 | |
| JP4708299B2 (ja) | 数値制御装置 | |
| WO2013179366A1 (ja) | 数値制御装置 | |
| JP2005182437A (ja) | 数値制御装置及び数値制御方法 | |
| JP2009538744A (ja) | 旋削加工を制御する方法、および旋削加工に適したnc機械 | |
| JP2009009274A (ja) | 数値制御装置 | |
| JP5399881B2 (ja) | 5軸加工機用数値制御装置 | |
| US6735495B2 (en) | Polynomial and spline interpolation of machine tool orientations | |
| JP5461980B2 (ja) | ワーク設置誤差補正手段を有する5軸加工機を制御する数値制御装置 | |
| JP4734439B2 (ja) | 4軸加工機用数値制御装置 | |
| JP6219866B2 (ja) | 表示機能付き数値制御装置および表示プログラム | |
| Kanna et al. | Optimized NURBS based G-code part program for high-speed CNC machining | |
| JP2549932B2 (ja) | 数値制御装置及びその指令方法 | |
| WO2016199266A1 (ja) | 数値制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20080901 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080909 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081027 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090106 |