(57)【要約】【課題】円弧の始点、終点及び補間点での工具方向ベクトル及びその延長が交差しない円錐面の加工を可能にする。【解決手段】プログラムで指令された始点と終点の位置PA'，PB'と円中心位置及び２つの回転軸の回転位置に基づいて、始点、終点における法線方向ベクトルＶnors,Ｖnore、接線方向ベクトルＶtans,Ｖtane、工具方向ベクトルＶts,Ｖteを求める。これらのベクトルより始点、終点における工具方向に対する接線方向の角度as、ae、法線方向の角度bs、beを求める。始点、終点における法線、接線方向ベクトル及び角度を補間して補間点の法線、接線方向ベクトルＶnori,Ｖtani及び角度ai，biを求め、これにより、補間点の工具方向ベクトルＶtiを求める。この補間点おける工具方向ベクトルＶtiより回転軸の回転位置及び直線軸の位置を求める。円弧が３次元で指令されても円錐加工ができる。【選択図】図４
2007293522.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２軸の回転軸を含む各軸がサーボモータで駆動される加工機を制御する数値制御装置であって、プログラムで指令された前記加工機の加工工具の動作経路に対して補間処理を行い、該補間処理の出力に応じて前記各軸の移動指令を出力する数値制御装置において、
前記プログラム指令から円弧形状及び該円弧形状の始点位置と該始点位置における被加工物に対する工具方向及び前記円弧形状の円弧終点位置と該終点位置における被加工物に対する工具方向を求める解析手段と、
該解析手段により求めたデータに基づいて、サンプリング周期毎に、円弧補間位置、及び該円弧補間位置における工具方向を求める補間手段と、
該補間手段で求められたデータに基づいて、各軸の位置を求める各軸位置算出手段と、
各軸位置算出手段で求められた各軸位置に各軸を移動させる移動手段と、
を備えたことを特徴とする数値制御装置。
【請求項２】
前記解析手段は、前記プログラムから円弧形状及び該円弧指令の始点位置と該始点位置における被加工物に対する工具方向及び前記円弧指令の円弧終点位置と該終点位置における被加工物に対する工具方向に基づいて、円弧長、始点及び終点における工具方向の円弧進行方向とのなす角、工具方向の円弧平面上の円弧進行方向と垂直方向とのなす角を求め、
前記補間手段は、該解析されたデータに基づいて、サンプリング周期毎に、円弧補間位置、始点から該円弧補間位置の円弧長、該円弧補間位置における工具方向の円弧進行方向とのなす角、及び工具方向の円弧平面上の円弧進行方向と垂直方向とのなす角を補間して求めるものである請求項１に記載の数値制御装置。
【請求項３】
前記プログラムでの指令は、円弧の中心の指定と円弧形状の始点位置、円弧形状の終点位置及び該始点位置、終点位置における前記回転軸の回転位置を含むものである請求項１または２に記載の数値制御装置。
【請求項４】
前記プログラムでの指令は、円弧形状の始点位置、円弧形状の終点位置、円弧形状の中間点位置、及び該始点位置、終点位置、中間点位置における前記回転軸の回転位置を含むものである請求項１または２に記載の数値制御装置。
【請求項５】
各軸位置算出手段は、補間手段で求められたデータに基づいて、円弧補間点における工具方向を示す工具方向ベクトルを求め、該工具方向ベクトルに基づいて、前記回転軸の回転位置を求めると共に、他の軸の補間点における位置を求める請求項１乃至４の内いずれか１項に記載の数値制御装置。
【請求項６】
前記加工機は２軸の回転軸によって工具ヘッドが回転する加工機である請求項１乃至５の内いずれか１項に記載の数値制御装置。
【請求項７】
前記加工機は２軸の回転軸によってテーブルが回転する加工機である請求項１乃至５の内いずれか１項に記載の数値制御装置。
【請求項８】
前記加工機は２軸の回転軸によって工具ヘッド及びテーブルが回転する加工機である請求項１乃至５の内いずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、直線軸３軸と少なくとも回転軸２軸を有し５軸加工ができる加工機を制御する数値制御装置に関する。
【背景技術】
【０００２】
工具先端点の移動経路を指令すると共に、該移動経路の始点における工具方向、終点における工具方向を指定することによって、円錐面等の加工を行う５軸加工が特許文献１で公知である。  
図１１は、この特許文献１に記載された円錐面加工の説明図である。図１１（ａ）は立体的な説明図で、図１１（ｂ）は、図１１（ａ）の上方から見た平面図である。工具先端の経路を円弧で指定し、その経路の始点及び終点における工具方向ベクトルを始点ベクトル、終点ベクトルとして指定し、始点ベクトルと終点ベクトルをつなぐ面上の第１角度ＰＨＩ（始点ベクトルと終点ベクトルをつなぐ面上に工具方向ベクトルを投影したとき、始点ベクトルからこの投影した線までの角度）と、該面に垂直な工具方向ベクトルの第２角度ＰＳＩを補間することによって、工具先端を指令された円弧に沿って移動させると共に、工具方向を始点ベクトルの方向から終点ベクトルの方向まで円錐面上に変化させて円錐面を加工することが記載されている。
【０００３】
また、図１２に示すように、工具方向ベクトルの中心軸回りの円錐回転角を第１角度ＰＨＩとし、円錐先端角を第２角度ＰＳＩとして、この２つの角度を補間することによって円錐面の加工を行う方法も記載されている。さらに、これらの角度が多項式補間によって変動し円錐面に対して変動しながら動作するようにして、図１３に示すように、工具先端点が移動する下面は円弧ではないものを加工する例も記載されている。
【０００４】
【特許文献１】米国特許第６７３５４９５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１に記載されたものは、円錐面上またはそれに対する変動面上を加工することを前提としているものであり、始点ベクトル、終点ベクトル、および補間中の円錐面上の工具方向ベクトル、またはそれらの延長線は１点で交差することを前提とするものである。  
しかし、与えられる始点ベクトル、終点ベクトル、および計算して求められる工具方向ベクトルは必ず同一円錐面上に存在するとは限らない。例えば、図１４に示すような形状の加工面を加工するような場合、上述した特許文献１に記載の方法では補間できず加工ができない。
【０００６】
図１４（ａ）は立体的な説明図で、図１４（ｂ）は、図１４（ａ）の上方から見た平面図である。図１４に示す例では、始点ベクトルと終点ベクトルはそれらを延長しても交差しない。これは、始点ベクトル、終点ベクトルが円弧を下面とする円錐面上にないためである。
【０００７】
そこで、本発明は、図１４に示す加工面をも加工可能にすることを目的とするものであり、始点ベクトル、終点ベクトル、および補間中の円錐面上の工具方向ベクトル、またはそれらの延長線は交差しない円錐状の加工面も、５軸加工によって加工できるようにすることを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明は、少なくとも２軸の回転軸を含む各軸がサーボモータで駆動される加工機を制御する数値制御装置であって、プログラムで指令された前記加工機の加工工具の動作経路に対して補間処理を行い、該補間処理の出力に応じて前記各軸の移動指令を出力する数値制御装置において、前記プログラム指令から円弧形状及び該円弧形状の始点位置と該始点位置における被加工物に対する工具方向及び前記円弧形状の円弧終点位置と該終点位置における被加工物に対する工具方向を求める解析手段と、該解析手段により求めたデータに基づいて、サンプリング周期毎に、円弧補間位置、及び該円弧補間位置における工具方向を求める補間手段と、該補間手段で求められたデータに基づいて、各軸の位置を求める各軸位置算出手段と、各軸位置算出手段で求められた各軸位置に各軸を移動させる移動手段とを備えるものである。さらに、前記解析手段は、前記プログラムから円弧形状及び該円弧指令の始点位置と該始点位置における被加工物に対する工具方向及び前記円弧指令の円弧終点位置と該終点位置における被加工物に対する工具方向に基づいて、円弧長、始点及び終点における工具方向の円弧進行方向とのなす角、工具方向の円弧平面上の円弧進行方向と垂直方向とのなす角を求めるものとし、前記補間手段は、該解析されたデータに基づいて、サンプリング周期毎に、円弧補間位置、始点から該円弧補間位置の円弧長、該円弧補間位置における工具方向の円弧進行方向とのなす角、及び工具方向の円弧平面上の円弧進行方向と垂直方向とのなす角を補間して求めるものとした。
【０００９】
前記プログラムでの指令は、円弧の中心の指定と円弧形状の始点位置、円弧形状の終点位置及び工具方向として円弧形状の始点位置、終点位置における前記回転軸の回転位置を含むものである。または、プログラムでの指令には、円弧形状の始点位置、円弧形状の終点位置、円弧形状の中間点位置、及び該始点位置、終点位置、中間点位置における前記回転軸の回転位置を含むものである。  
また、各軸位置算出手段は、補間手段で求められたデータに基づいて、円弧補間点における工具方向を示す工具方向ベクトルを求め、該工具方向ベクトルに基づいて、前記回転軸の回転位置を求めるものとした。  
前記加工機は２軸の回転軸によって工具ヘッドが回転する加工機、２軸の回転軸によってテーブルが回転する加工機、若しくは２軸の回転軸によって工具ヘッド及びテーブルが回転する加工機であるものとした。
【発明の効果】
【００１０】
図１４に示すような、始点における工具方向ベクトル、終点における工具方向ベクトル、および補間中の円錐面上の工具方向ベクトル、またはそれらの延長線が交差しない円錐状の加工面も、また交差する加工面も加工ができ、指令円弧が２次元のものに限定されず、３次元の円弧の指令であっても円錐面の加工ができる。
【発明を実施するための最良の形態】
【００１１】
図１は、本発明の原理を説明する説明図である。  
図１において、符号１は工具、符号２は指令円弧形状４が載る円弧平面、３は直線軸のＸＹＺ軸制御点である。始点（ｘｓ，ｙｓ，ｚｓ）から終点（ｘｅ，ｙｅ，ｚｅ）までの円弧形状が指令されているものとする。ここで、進行方向とは円弧の進行方向、法線方向とは円弧平面上の円弧進行方向と垂直な方向であるものとし、
・始点における、進行方向とのなす角：as
・始点における、法線方向とのなす角：bs
・終点における、進行方向とのなす角：ae
・終点における、法線方向とのなす角：be
・補間点における、進行方向とのなす角：ai
・補間点における、法線方向とのなす角：bi
・指令円弧長：cl
・始点から円弧補間点までの円弧長：ci
と定義する。
【００１２】
また、
・工具方向を示す工具方向ベクトルをＶｔ（ｉ，ｊ，ｋ）
・始点における工具方向ベクトルをＶts（ｉs，ｊs，ｋs）
・終点における工具方向ベクトルをＶte（ｉe，ｊe，ｋe）
・始点における進行方向を示す進行方向ベクトルをＶtans（tanis，tanjs，tanks）
・始点における法線方向を示す法線方向ベクトルをＶnors（noris，norjs，norks）
・終点における進行方向を示す進行方向ベクトルをＶtane（tanie，tanje，tanke）
・終点における法線方向を示す法線方向ベクトルをＶnore（norie，norje，norke）
・補間点における進行方向を示す進行方向ベクトルをＶtani（tanii，tanji，tanki）
・補間点における法線方向を示す法線方向ベクトルをＶnori（norii，norji，norki）
・補間点における工具方向ベクトルをＶti（ii，ji，ki）
とする。
【００１３】
指令された始点（ｘｓ，ｙｓ，ｚｓ）と終点（ｘｅ，ｙｅ，ｚｅ）と円弧指令より、指令円弧長clは求められる。また、始点と終点及び円弧中心より、始点、終点における法線方向ベクトルＶnors，Ｖnore、進行方向ベクトルＶtans，Ｖtaneが求められる。また、始点と終点における工具方向ベクトルＶts，Ｖteは始点と終点における工具方向を示す指令から求まる。さらに、これらのベクトルに基づいて、始点、終点における工具方向の進行方向とのなす角as，ae、法線方向とのなす角bs，beが求まる。そして、従来から公知技術である円弧補間処理によって円弧上の補間位置（cxi，cyi，czi）を求めると共に、始点から補間位置までの円弧長ciを求める。また、さらに補間点における工具方向(ai，bi)を次のようにして求める。
ai=ci/cl*(ae−as)+as        …（１）
bi=ci/cl*(be−bs)+bs        …（２）
また、補間点における進行方向ベクトルＶtani、法線方向ベクトルＶnoriは、従来から公知技術である円弧補間処理によって求められる。
【００１４】
求めた補間点における工具方向(ai，bi)、進行方向ベクトルＶtani（tanii, tanji, tanki）、法線方向ベクトルＶnori（norii，norji，norki）と、工具方向ベクトルＶti（ii，ji，ki）の関係は、図２に示す関係であり、工具方向ベクトルＶtiと進行方向ベクトルＶtaniの内積、工具方向ベクトルＶtiと法線方向ベクトルＶnoriの内積より次の（３）式、（４）式が成立する。
【００１５】
Ｖti・Ｖtani＝cos(ai)
（−(ii，ji，ki)・（tanii，tanji，tanki））＝cos(ai)
−(ii＊tanii+ji＊tanji+ki＊tanki)＝cos(ai)                …（３）
Ｖti・Ｖnori＝cos(bi)
（−(ii，ji，ki)・（norii, norji, norki）)＝cos(bi)
−(ii＊norii+ji＊norji+ki＊norki)＝cos(bi)                …（４）
また、工具方向ベクトルＶtiは単位ベクトルであることから次の（５）式が成立する。
ii2＋ji2＋ki2＝１              …（５）
これら（３）〜（５）式から工具方向ベクトルＶti（ii，ji，ki）が求められる。
【００１６】
この求められた工具方向ベクトルＶti（ii，ji，ki）から、回転軸の回転位置を求める。また、直線軸の位置、即ち、ＸＹＺ軸制御点３の位置（Xai，Yai，Zai）は、円弧補間によって求めた補間位置（cxi，cyi，czi）と工具方向ベクトルＶti（ii，ji，ki）若しくは回転軸の回転位置によって求めることができる。回転軸の回転位置とＸＹＺ軸制御点位置（Xai，Yai，Zai）は、工作機械の回転軸の構成によって求め方が相違し、この点は後述する。
【００１７】
こうして求めた補間位置のＸＹＺ軸制御点位置（Xai，Yai，Zai）に直線軸のＸ，Ｚ，Ｙ軸を移動させると共に、回転軸を求めた補間回転位置にさせることによって、工具先端点が円弧位置になり工具方向が補間された角度(ai，bi)になるように各軸を駆動することができる。  
この方式によって、始点ベクトルと終点ベクトルはそれらを延長しても交差する場合でも、交差しない場合でも補間が可能となり、円錐面の加工が可能となる。
【００１８】
上述した工具方向とは工具の加工物に対する相対的な方向である。そのため、この方式は、工具ヘッドが回転する機械、テーブルが回転する機械、または工具ヘッド及びテーブルが回転する機械に同様に適用できるものである。
【００１９】
本発明の第１の実施形態
本発明の第１の実施形態として、図３に示すように、Ｘ，Ｙ，Ｚ軸の直線軸と工具１のヘッドがＹ軸回りに回転するＢ軸とＺ軸回りに回転するＣ軸を有し、工具１がテーブル５上に取り付けられたワーク６に対して相対的に直線移動及び回転する５軸加工機を制御する数値制御装置に、本発明を適用した実施形態である。
【００２０】
図３では、被加工物のワーク６に対してＰＡ，ＰＢ，ＰＣ，ＰＤで囲まれた円錐面状の面を加工する例を示しており、ＰＡ−ＰＢは円弧である。ただし、この円弧平面２は、Ｘ−Ｙ，Ｙ−Ｚ、またはＺ−Ｘ平面上の２次元の円である必要はなく、図３に示す例では、Ｘ−Ｙ平面から傾斜した面にＰＡ−ＰＢの円弧が指定されているものを示している。ただし、ＰＡ−ＰＢに対する実際の円弧指令としては、工具径分を考慮した円弧ＰＡ’−ＰＢ’が指令される。
【００２１】
この第１の実施形態では、円弧平面２がＸ−Ｙ平面で指令された場合を示す。このときのプログラムは、例えば次のようになる。
G43.4 H01 ;                                            工具先端点制御指令
G90 G01 X100.0 Y200.0 Z50.0 B−10.0 C10.0 F1000;      ＰＡ’点への移動と工具傾                                                        斜の指令
G03 G17 X160.555 Y400.0 I−300.0 J200.0 B−20.0 C20.0 ;  PB’点への円弧指令と工                                                        具傾斜の指令
…
…
G49 ;                                                  工具先端点制御キャンセル
上記プログラムにおいて、「Ｇ４３．４」は、工具先端点制御指令を示すコード、「H」は、オフセット番号を指定するコードで「Ｈ０１」は、オフセット番号０１を指定している指令である。また「Ｇ９０」は、アブソリュート指令のコード、「Ｇ０１」は直線補間（切削送り）指令のコード、Ｘ，Ｙ，Ｚ，Ｂ，Ｃは、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸、Ｃ軸への位置指令である。Ｆは速度指令である。また、「Ｇ０３」は円弧補間指令（反時計方向回り）であり、Ｉは円弧始点から円弧中心までのＸ軸成分、Ｊは円弧始点から円弧中心までのＹ軸成分の指令である。
【００２２】
このプログラムの指令より、始点における法線方向ベクトルＶnors（noris, norjs, norks）は、法線が常に円弧中心を向くことから、Ｉ＝円弧始点から円弧中心までのＸ軸成分＝３００．０、Ｊ＝円弧始点から円弧中心までのＹ軸成分＝２００．０より、Ｖnors＝
（−３／√（１３），２／√（１３），０）＝（−0.832，0.555，0.0）として求まる。また、始点における進行方向ベクトルＶtans（tanis，tanjs，tanks）は、法線方向ベクトルをＶnorsと直交するものであるから、Ｖtans（0.555，0.832，0.0）として求まる。
【００２３】
さらに、始点における工具方向ベクトルＶts（ｉs，ｊs，ｋs）は、始点におけるＢ軸、Ｃ軸の指令位置が、Ｂ＝−１０．０，Ｃ＝１０．０であることに基づいて、Ｖts（−sinBcosC，−sinBsinC，−cosB）＝（−sin(−10.0)cos(10.0)，−sin(−10.0)sin(−10.0)，−cos(10.0)）＝（0.171，0.030，−0.985）として求まる。
同様に、終点における法線方向ベクトルＶnore、進行方向ベクトルＶtane、工具方向ベクトルＶteは、
Ｖnore＝（−1.0，0.0，0.0）
Ｖtane＝（0.0，1.0，0.0）
Ｖte＝（−sin(−20.0)cos(20.0)，−sin(−20.0)sin(20.0)，−cos(−20.0)）
＝（0.321，0.117，−0.940）
として求まる。
【００２４】
始点における工具方向ベクトルＶtsと進行方向ベクトルＶtansの内積を求めることによって始点における進行方向とのなす角as、始点における工具方向ベクトルＶtsと法線方向ベクトルをＶnorsの内積を求めることによって始点における法線方向とのなす角bs、終点における工具方向ベクトルＶteと進行方向ベクトルＶtaneの内積を求めることによって終点における進行方向とのなす角ae、終点における工具方向ベクトルＶteと法線方向ベクトルをＶnoreの内積を求めることによって終点における法線方向とのなす角beは、次のように求まる。
as=94.001度
bs=84.85度
ae=83.282度
be=71.253度
このプログラムにおける、始点ＰＡ’、終点ＰＢ’点での進行方向ベクトル、法線方向ベクトル、工具方向ベクトルはそれぞれ、図４のようになる。ここで、各ベクトルは単位ベクトルである。
【００２５】
また、プログラムで指令されたＩ，Ｊの値から、円弧半径が求められ、始点における法線方向ベクトルＶnorsから終点における法線方向ベクトルＶnoreへの変化量より、円弧の回転角が求められ、これら半径と回転角によって指令円弧長clは求められる。このプログラムの例では
cl=212.007
である。
【００２６】
そこで、公知技術である従来の円弧補間を行いながら、円弧補間点(cxi，cyi，czi)を求めると共に、始点から円弧補間点までの円弧長ciを求め、上述した（１）式、（２）式によって工具方向（ai，bi）を求める。また、補間点における進行方向ベクトルＶtani、法線方向ベクトルＶnoriは、公知技術である従来の円弧補間によって求められる。
【００２７】
こうして求めた円弧補間点における工具方向（ai，bi）と進行方向ベクトルＶtani、法線方向ベクトルＶnoriから上述した（３）式〜（５）式の演算を行って工具方向ベクトルＶti(ii，ji，ki)を求める。
【００２８】
Ｂ軸位置が０度、Ｃ軸位置が０度の時の工具方向(0,0,−1)をＢ軸位置Ｂai、Ｃ軸位置Ｃaiだけ回転することにより工具方向ベクトルＶti（ii，ji，ki）となるため、次の（６）式が成り立つ。これを解くことによって、移動すべきＢ軸位置Ｂai,およびＣ軸位置Ｃaiを求めることができる。ここで、Ｂai、Ｃaiは複数解が得られるが、直前のＢ軸、Ｃ軸位置に近い位置を選ぶようにする。
【００２９】
【数１】
2007293522.tif 000003
【００３０】
そして、プログラムのコード「Ｈ０１」で指令されている工具長がtlとすると、この工具長tlで、次の（７）〜（９）式で示されるように、円弧補間点(cxi，cyi，czi)を補正して、ＸＹＺ軸制御点３の位置（Ｂ軸，Ｃ軸の回転軸が交差する位置）である、移動すべきＸ軸位置Ｘai，Ｙ軸位置ＹaiおよびＺ軸位置Ｚaiを求めることができる。
Ｘai = cxi − ii*tl          …（７）
Ｙai = cyi − ji*tl          …（８）
Ｚai = czi − ki*tl          …（９）
よって、Ｘ，Ｙ，Ｚ軸をＸai，Ｙai，Ｚaiに移動させると共に回転軸のＢ軸、Ｃ軸を（６）式で求めたＢai、Ｃaiに移動せることによって、図３において、ワーク６に対してＰＡ，ＰＢ，ＰＣ，ＰＤで囲まれた円錐面状の面を加工することができる。
【００３１】
本発明の第２の実施形態
この第２の実施形態の数値制御装置が制御する工作機械の構成は、図３に示した第１の実施形態と同じである。この第２の実施形態の場合も、ＰＡ，ＰＢ，ＰＣ，ＰＤで囲まれた円錐面状の面を加工するものであり、ＰＡ−ＰＢは円弧である。ただし、この円弧は、Ｘ−Ｙ，Ｙ−Ｚ，またはＺ−Ｘ平面上の２次元の円弧ではなく、円弧が指令される円弧平面２は傾いているものであり、２次元の円弧でないため、中間点ＰＭが指令される。
【００３２】
実際の円弧指令としては、第１の実施形態と同様に工具径分を考慮した円弧ＰＡ’−ＰＢ’、中間点ＰＭ’が指令される。
【００３３】
始点ＰＡ’を(100.0，200.0，50.0)、終点ＰＢ’を(174.166，400.0，150.0)、円弧中心を(−200，400，150)とする円弧を指令する場合、中間点ＰＭ’としては例えば(157.071，300.0，100.0)を指令することができる。この場合のプログラムとしては次のようになる。
G43.4 H01 ;                                     …工具先端点制御指令
G90 G01 X100.0 Y200.0 Z50.0 B−10.0 C10.0 F1000;
…PA’点への移動と工具傾斜の指令
G03.4 X157.071 Y300.0 Z100.0 B−15.0 C15.0 ;  …３次元円弧、PM’(中間点)、
中間点の工具傾斜の指令
X174.166 Y400.0 Z150.0 B−20.0 C20.0 ;          …PB’点への移動と工具傾斜の指令
…
…
G49 ;                                           …工具先端点制御キャンセル
このプログラムの指令と、円弧中心より始点ＰＡ’、終点ＰＢ’、中間点ＰＭ’の各点での進行方向ベクトルＶtans、Ｖtane、Ｖtanm、法線方向ベクトルＶnors、Ｖnore、Ｖnorm、工具方向ベクトルＶts、Ｖte、Ｖtmを第１の実施形態と同じようにして求める。各ベクトルは図５のようになる。ここで、各ベクトルは単位ベクトルである。
【００３４】
こうして求めた各点の進行方向ベクトル、法線方向ベクトル、工具方向ベクトルより、第１の実施形態と同様に、工具方向ベクトルと進行方向ベクトルの内積を求めることによって、始点、終点における進行方向とのなす角as、ae及び中間点での進行方向と工具方向のなす角am、工具方向ベクトルと法線方向ベクトルの内積を求めることによって、始点、終点における法線方向とのなす角bs、be、及び中間点での法線方向と工具方向のなす角bmは、次のように求まる。
as=76.744度
bs=67.406度
ae=71.602度
be=71.253度
am=73.718度
bm=69.528度
また、第１の実施形態と同様に、始点PA’から中間点PM’への指令円弧長clmは、
clm=126.124
として求められ、中間点PM’から終点PB’への指令円弧長clbは、
clb=113.538
として求められる。
【００３５】
そして、従来から公知慣用の技術である３次元空間内の円弧補間を行いながら始点から円弧補間点までの円弧長ciを求め、補間点おける工具方向(ai，bi)を次のようにして求める。
１）始点PA’から中間点PM’までの補間点の場合
ai=ci/clm*(am−as)+as                 …(１０)
bi=ci/clm*(bm−bs)+bs                 …(１１)
２）中間点PM’から終点PＢ’までの補間点の場合
ai=(ci−clm)/clb*(ae−am)+am           …(１２)
bi=(ci−clm)/clb*(be−bm)+bm           …(１３)
この補間点における工具方向(ai，bi)を求める方法がこの第２の実施形態は、第１の実施形態と相違し、第１の実施形態での（１）式、（２）式によって工具方向(ai，bi)を求めていた点が、上記（１０）〜（１３）式に代わる点において相違する。
【００３６】
また、第１の実施形態と同様に、補間点における進行方向ベクトルＶtani、法線方向ベクトルＶnoriは、従来から公知慣用の技術である３次元空間内の円弧補間によって求まる。
【００３７】
こうして求めた円弧補間点における工具方向（ai，bi）と進行方向ベクトルＶtani、法線方向ベクトルＶnoriから、第１の実施形態と同様に、上述した（３）式〜（５）式の演算を行って工具方向ベクトルＶti (ii，ji，ki)を求め、さらに、（６）式の演算を行って、回転軸Ｂ軸、Ｃ軸の位置Ｂai、Caiを求める。
【００３８】
さらに、第１の実施形態と同様に、移動すべきＸ軸位置Ｘai，Ｙ軸位置Ｙai,およびＺ軸位置Ｚaiを（７）〜（９）式の演算を行って求める。
【００３９】
求めたＸ，Ｙ，Ｚ軸の位置Ｘai，Ｙai，ＺaiにＸ，Ｙ，Ｚ軸を移動させると共に回転軸のＢ軸、Ｃ軸を求めたＢai、Ｃaiに移動させることによって、図３において、ワーク６に対してＰＡ，ＰＢ，ＰＣ，ＰＤで囲まれた円錐面状の面を加工すことができる。
【００４０】
本発明の第３の実施形態
この第３の実施形態は、工具ヘッドが回転するのではなく、ワークを取り付けるテーブルが回転する５軸加工用の工作機械での円錐面を加工する例であり、図６にこの工作機械の概要を示す。互いに直交する直線軸のＸ，Ｙ，Ｚ軸とＸ軸と平行な軸回りに回転する回転軸ＡとＺ軸と平行な軸の回りに回転する回転軸Ｃを備え、工具１はテーブル５及びワーク６に対して相対的にＸ，Ｙ，Ｚ軸方向に直線移動し、テーブル５は回転軸Ａ、Ｃによって回転される。
【００４１】
このような加工機においても、テーブル５に取り付けたワーク６に対してＰＡ，ＰＢ，ＰＣ，ＰＤで囲まれた面を加工する場合、円弧としては第１、第２の実施形態と同様に、工具径を考慮してＰＡ’−ＰＢ’が指令される。そのような加工においても、第１、第２の実施形態による加工が可能である。
【００４２】
ここで、図６のテーブル５上におけるＸｐ−Ｙｐ−Ｚｐをプログラム座標系とし、この座標系上でプログラム指令される。プログラム座標系は工具先端点制御モードが指令されたときのワーク座標系とし、そのワーク座標系原点を(w0x，w0y，w0z)、Ａ軸、Ｃ軸の回転中心は交差するとしその位置を(rcx，rcy，rcz)とする。また、プログラム座標系はテーブル回転とともに回転する。
【００４３】
この第３の実施形態においても、円弧上の補間位置（cxi，cyi，czi）を求め、各補間点における工具方向(ai，bi)を求め、さらに、工具方向ベクトルＶti (ii，ji，ki)を求めるまでは、第１、第２の実施形態と同様である。すなわち、プログラム座標系で、Ｘ−Ｙ，Ｙ−Ｚ，またはＺ−Ｘ平面上の２次元の円弧として、ＰＡ−ＰＢの円弧が指令される場合は、（１）、（２）式によって工具方向(ai，bi)を求め、（３）、（４）、（５）式によって工具方向ベクトルＶti (ii，ji，ki)を求める。また、ＰＡ−ＰＢの円弧が２次元円弧ではないときは、中間点ＰＭが指令されて、（１０）〜（１３）式によって工具方向(ai，bi)を求め、続いて（３）、（４）、（５）式によって工具方向ベクトルＶti (ii，ji，ki)を求める。
【００４４】
そして、移動すべきＡ軸位置Ａai、Ｃ軸位置Ｃai、Ｘ軸位置Ｘai、Ｙ軸位置ＹaiおよびＺ軸位置Ｚaiを（６）式〜（９）式の代わりに次の（１４）式、（１５）式によって求める。
【００４５】
機械座標系上の工具方向は（０，０，−１）なので、工具方向ベクトルＶti（ii，ji，ki）がＣ軸位置Ｃai、Ａ軸位置Ａaiだけ回転することにより（０，０，−１）となる必要がある。そのため、（１４）式が成り立つ。これを解くことによって、移動すべきＣ軸位置Ｃai,およびＡ軸位置Ａaiを求めることができる。ここで、テーブル回転の正方向は座標系の正方向と逆のため、Ａai，Ｃaiに負号が付く。
【００４６】
【数２】
2007293522.tif 000004
【００４７】
さらに、プログラム座標系上の円弧補間点を(cxi，cyi，czi)とすると、次の（１５）式の計算によって、移動すべきＸ軸位置Ｘai、Ｙ軸位置Ｙai,およびＺ軸位置Ｚaiを求めることができる。この位置Ｘai、ＹaiおよびＺaiは、図６におけるＸＹＺ軸制御点（工具の根元位置）３である。
【００４８】
【数３】
2007293522.tif 000005
【００４９】
本発明の第４の実施形態
この第４の実施形態は、図７に示すように、テーブル５の回転軸が１軸（Ｃ軸）あり、工具ヘッドの回転軸が１軸（Ｂ軸）あるような５軸加工機により加工する場合である。互いに直交する直線軸のＸ，Ｙ，Ｚ軸と、Ｙ軸と平行な軸回りに工具２が回転する回転軸Ｂと、Ｚ軸と平行な軸の回りにテーブル５が回転する回転軸Ｃを備えるものである。
【００５０】
このような機械においても、テーブル５に取り付けたワーク６に対してPA，PB，PC，PDで囲まれた円錐面状の面を加工することが可能であり、円弧としては第１、第２の実施形態と同様に、工具径を考慮してＰＡ’−ＰＢ’が指令される。そのような加工においても、第１、第２の実施形態による加工が可能である。
【００５１】
ここで、図７のテーブル５上におけるＸｐ−Ｙｐ−Ｚｐをプログラム座標系とし、この座標系上でプログラム指令される。プログラム座標系は工具先端点制御モードが指令されたときのワーク座標系としそのワーク座標系原点を(w0x，w0y，w0z)、Ｃ軸の回転中心の位置を(rcx，rcy，rcz)とする。また、プログラム座標系はテーブル回転とともに回転する。
【００５２】
この第４の実施形態も、第３の実施形態と同様に、プログラム座標系で、Ｘ−Ｙ，Ｙ−Ｚ，またはＺ−Ｘ平面上の２次元の円弧として、ＰＡ−ＰＢの円弧が指令される場合は、（１）、（２）式によって工具方向(ai，bi)を求め、（３）、（４）、（５）式によって工具方向ベクトルＶti (ii，ji，ki)を求め、また、ＰＡ−ＰＢの円弧が２次元円弧ではないときは、中間点ＰＭが指令されて、（１０）〜（１３）式によって工具方向(ai，bi)を求め、続いて（３）、（４）、（５）式によって工具方向ベクトルＶti (ii，ji，ki)を求めるまでは、第３の実施形態と同一である（第１または第２の実施形態とも同じである）。
【００５３】
こうして求めた工具方向ベクトルＶti (ii，ji，ki)を用いて、次の（１６）式、（１７）式によって、移動すべきＢ軸位置Ｂai、Ｃ軸位置Ｃai、Ｘ軸位置Ｘai、Ｙ軸位置ＹaiおよびＺ軸位置Ｚaiを求める。
【００５４】
Ｂ軸位置が０度の時の工具方向（０，０，−１）をＢ軸位置Ｂaiだけ回転したベクトルと、工具方向ベクトルＶti (ii，ji，ki)をＣ軸位置Ｃaiだけ回転したベクトルが一致することから、式（１６）が成り立つ。これを解くことによって、移動すべきＣ軸位置Ｃai,およびＢ軸位置Ｂaiを求めることができる。
【００５５】
【数４】
2007293522.tif 000006
【００５６】
そして、プログラム座標系上の円弧補間点を(cxi，cyi，czi)とすると、次の（１７）式の計算によって、移動すべきＸ軸位置Ｘai、Ｙ軸位置Ｙai,およびＺ軸位置Ｚaiを求めることができる。ここで、Ｘai、Ｙai,およびＺaiは、図７におけるＸＹＺ軸制御点（Ｂ軸回転中心位置）３である。
【００５７】
【数５】
2007293522.tif 000007
【００５８】
図８は、上述した各実施形態を実施する数値制御装置の要部機能ブロック図である。数値制御装置の構成は、従来の５軸加工機を制御する数値制御装置の構成と同様であることから、簡単に機能ブロック図で示している。  
指令解析部１０は、プログラムでの指令を解析し、実行指令データを作成し、補間手段１１は、この実行データに基づいて、補間周期毎の各軸への移動指令を求め、Ｘ軸、Ｙ軸、Ｚ軸、Ｂ軸（またはＡ軸）、Ｃ軸の各加減速処理１２ｘ〜１２ｃを行い、移動指令をＸ軸、Ｙ軸、Ｚ軸、Ｂ軸（またはＡ軸）、Ｃ軸の各サーボ制御部１３ｘ〜１３ｃに出力する。各サーボ制御部１３ｘ〜１３ｃでは、位置、速度、電流のフィードバック制御を行って各軸のサーボモータを駆動する。
【００５９】
図９、図１０は、上述した第１の実施形態の円錐面の加工処理を、数値制御装置のプロセッサが実施する処理のアルゴリズムを示すフローチャートであり、図９は、指令解析部１０における本発明が関係する部分の処理を示すフローチャートであり、図１０は、補間手段１１として実施する補間周期毎の本発明が関係する部分の処理のフローチャートである。  
プログラムより「Ｇ０３」の円弧指令が読み出されたときには、プロセッサは本発明に関係して指令解析部１０の処理として図９の処理を開始し、まず始点と終点間の円弧長clを求める（ステップ１０１）。
【００６０】
次にプログラムで指令された始点、終点位置と円弧中心より始点、終点における法線方向ベクトルＶnors，Ｖnore、接線方向ベクトルＶtans，Ｖtane及び工具方向ベクトルＶts，Ｖteを求める（ステップ１０２）。
【００６１】
工具方向ベクトルと進行方向ベクトルの内積、工具方向ベクトルと法線方向ベクトルの内積によって、前述したように、始点及び終点における進行方向とのなす角as、ae、法線方向とのなす角bs、beを求め、指令解析部１０の処理は終了する（ステップ１０３）。
【００６２】
一方、補間手段１１の処理として、プロセッサは、従来と同様に指令された円弧の始点と終点間を円弧補間し円弧補間点（cxi，cyi，czi）と、補間点までの円弧長ci求める（ステップ２０１）。  
ステップ１０１で求めた円弧長ｃｌ、ステップ１０３で求めた始点及び終点における進行方向とのなす角as、ae、法線方向とのなす角bs、be、及びステップ２０１で求めた補間点までの円弧長ｃｉによって（１）式、（２）式の演算を行うことによって、補間点での工具方向の進行方向とのなす角ai、法線方向とのなす角biを求める。さらに、公知技術である従来の円弧補間によって補間点における法線方向ベクトルＶnori、接線方向ベクトルＶtaniを求める（ステップ２０２）。
【００６３】
補間点における角度ai、bi、法線方向ベクトルＶnori、接線方向ベクトルＶtaniを用いて（３）〜（５）式の演算を行うことによって工具方向ベクトルＶti (ii，ji，ki)を求める（ステップ２０３）。
【００６４】
この工具方向ベクトルＶti (ii，ji，ki)を用いて（６）式の演算を行い回転軸のＢ軸位置Ｂai、Ｃ軸位置Ｃaiを求める（ステップ２０４）。  
ステップ２０１で求めた円弧補間点（cxi，cyi，czi）とステップ２０３で求めた工具方向ベクトルＶti (ii，ji，ki)及び工具長ｔｌを用いて、（７）〜（９）式の演算を行ってＸ軸位置Ｘai、Ｙ軸位置Ｙai、Ｚ軸位置Ｚaiを求める（ステップ２０５）。
【００６５】
求めたＸ軸位置Ｘai、Ｙ軸位置Ｙai、Ｚ軸位置Ｚai、Ｂ軸位置Ｂai、Ｃ軸位置Ｃaiと前回の補間周期で求めたこれらの位置との差を各軸への移動指令量として加減速処理部に出力し（ステップ２０６）、この補間処理を終了する。以下、補間周期毎この処理を実行して５軸加工機を駆動制御して円錐面の加工を行う。
【００６６】
図９、図１０に示した処理は第１の実施形態の場合であり、プログラムで指令される円弧が２次元である場合であるが、第２実施形態のように円弧が３次元円弧である場合は、中間点が指令され、ステップ１０１で中間点までの指令円弧長clm、中間点から終点までの円弧長clbも求められ、ステップ１０２では中間点での法線方向ベクトルＶnorm、接線方向ベクトルＶtanmも求められ、ステップ１０３では、中間点での工具方向の進行方向とのなす角am、法線方向とのなす角度bmが求められる。ステップ２０４では（１０）〜（１３）式に基づいて補間点における工具方向ai，biが求められる。他の処理は図１０で示す処理と同じである。
【００６７】
また、第３の実施形態の場合での処理は、ステップ２０４で（１４）式の演算を行って、Ａ軸位置Ａai、Ｃ軸位置Ｃaiを求める点、ステップ２０５で（１５）式の演算を行ってＸ軸位置Ｘai、Ｙ軸位置Ｙai、Ｚ軸位置Ｚaiを求める点、ステップ２０６では、Ｂ軸位置の代わりにＡ軸位置Ａaiによって、Ｘ軸、Ｙ軸、Ｚ軸、Ａ軸、Ｃ軸に対する移動指令が求められ出力される点で相違し、他は同一である。
【００６８】
また、第４の実施形態においては、ステップ２０４で（１６）式の演算を行って、Ｂ軸位置Ｂai、Ｃ軸位置Ｃaiを求める点、ステップ２０５で（１７）式の演算を行ってＸ軸位置Ｘai、Ｙ軸位置Ｙai、Ｚ軸位置Ｚaiを求める点で相違し、他は同一である。
【００６９】
以上のように、各実施形態では、図１４に示すような、始点ベクトル（始点における工具方向ベクトル）、終点ベクトル（終点における工具方向ベクトル）、および補間中の円錐面上の工具方向ベクトル、またはそれらの延長線は交差しない円錐状の加工面も、また交差する加工面も加工ができ、指令円弧が２次元のものに限定されず、３次元の円弧の指令であっても加工を可能にするものである。
【図面の簡単な説明】
【００７０】
【図１】本発明の原理を説明する説明図である。
【図２】補間点における工具方向、進行方向ベクトル、法線方向ベクトル及び工具方向ベクトルの関係を説明する図である。
【図３】本発明の第１、第２の実施形態での加工を実施する５軸加工機の構成図である。
【図４】本発明の第１の実施形態における始点、終点、補間点での進行方向ベクトル、法線方向ベクトル、工具方向ベクトルの説明図である。
【図５】本発明の第２の実施形態における始点、終点、中間点での進行方向ベクトル、法線方向ベクトル、工具方向ベクトルの説明図である。
【図６】本発明の第３の実施形態での加工を実施する５軸加工機の構成図である。
【図７】本発明の第４の実施形態での加工を実施する５軸加工機の構成図である。
【図８】本発明の各実施形態を実施する数値制御装置の要部機能ブロック図である。
【図９】本発明の第１の実施形態による円錐面の加工処理における解析部での処理のアルゴリズムを示すフローチャートである。
【図１０】本発明の第１の実施形態による円錐面の加工処理における補間処理のアルゴリズムを示すフローチャートである。
【図１１】先行技術による第１の円錐面加工の説明図である。
【図１２】先行技術による第２の円錐面加工の説明図である。
【図１３】先行技術による第３の円錐面加工の説明図である。
【図１４】先行技術で加工できない円錐面の説明図である。
【符号の説明】
【００７１】
１  工具
２  円弧平面
３  ＸＹＺ軸制御点
４  指令円弧形状
５  テーブル
６  ワーク（被加工物）
【図１】
2007293522.tif 000008
【図２】
2007293522.tif 000009
【図３】
2007293522.tif 000010
【図４】
2007293522.tif 000011
【図５】
2007293522.tif 000012
【図６】
2007293522.tif 000013
【図７】
2007293522.tif 000014
【図８】
2007293522.tif 000015
【図９】
2007293522.tif 000016
【図１０】
2007293522.tif 000017
【図１１】
2007293522.tif 000018
【図１２】
2007293522.tif 000019
【図１３】
2007293522.tif 000020
【図１４】
2007293522.tif 000021