(57)【特許請求の範囲】
【請求項１】
少なくとも２つの直線軸および少なくとも１つの回転軸を有する多軸加工機の動作を制御する加工プログラムを処理する加工プログラム処理装置であって、
前記加工プログラムの各ブロックにおける工具姿勢の移動角度と、前記各ブロックにおける工具先端点の移動時間とが比例するように、前記各ブロックの指令角度を補正する制御手段を有している、加工プログラム処理装置。
【請求項２】
前記制御手段は、前記加工プログラムで指定されている指令速度または前記加工プログラム処理装置の内部で自動調整される移動速度を用いて、前記ワークに対する工具先端点の相対速度を前記各ブロックごとに算出し、前記各ブロックにおける移動距離を前記相対速度で除算することにより前記移動時間を算出する、請求項１に記載の加工プログラム処理装置。
【請求項３】
前記制御手段は、前記多軸加工機を構成する各軸の許容速度および／または許容加速度の制限を超えない範囲で前記相対速度を算出する、請求項２に記載の加工プログラム処理装置。
【請求項４】
前記制御手段は、前記加工プログラムの第ｎブロック（ｎ：Ｍ＋１以上の自然数）の指令角度を補正する場合、前記第ｎブロックの前後Ｍ個(Ｍ：自然数）の各ブロックにおける補正前の移動角度を用いて前記指令角度を補正する、請求項１から請求項３のいずれかに記載の加工プログラム処理装置。
【請求項５】
前記加工プログラム処理装置は、前記加工プログラムによって前記多軸加工機を制御しワークの加工を行う数値制御装置、または、前記多軸加工機で利用可能な前記加工プログラムの生成および編集を行うコンピュータ支援製造（ＣＡＭ）装置である、請求項１から請求項４のいずれかに記載の加工プログラム処理装置。
【請求項６】
請求項１から請求項５のいずれかに記載の加工プログラム処理装置を備えてなる多軸加工機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多軸加工機の動作を制御する加工プログラムを処理する加工プログラム処理装置およびこれを備えた多軸加工機に関するものである。
【背景技術】
【０００２】
従来、直交する直線軸３軸（Ｘ軸、Ｙ軸、Ｚ軸）と回転軸２軸とが同時に制御される５軸加工機等の多軸加工機においては、ワークに対する工具先端点（工具の刃先）の速度を指令し、当該指令速度で工具先端点の移動を制御する工具先端点制御が行われている。当該工具先端点制御では、工具先端点を移動させながら、工具姿勢を変化させることがある。このため、場合によっては、工具姿勢を定める回転軸の速度が急激に変化し、大きな加速度が発生するケースが存在する。
【０００３】
例えば、以下に示すＮ０、Ｎ１およびＮ２ブロックからなる加工プログラム例１を５軸加工機で実行した場合における工具先端点および工具姿勢の動作について説明する。
〔加工プログラム例１〕
Ｎ０  Ｘ０．０  Ｂ−４５．０；
Ｎ１  Ｇ０１  Ｘ９．０  Ｂ０．０  Ｆ６００；
Ｎ２  Ｇ０１  Ｘ１０．０  Ｂ４５．０；
なお、上記において、「Ｇ０１」はワークに対する工具先端点や工具姿勢の移動を指令するコードであり、「Ｆ」はワークに対する工具先端点の相対速度を指令するコードである。
【０００４】
上記加工プログラム例１によれば、まず、Ｎ０ブロックにより、工具先端点がＸ軸方向の初期位置として０．０ｍｍに移動されるとともに、工具姿勢がＢ軸（回転軸）周りの初期角度として−４５．０度に移動される。つぎに、Ｎ１ブロックでは、図８に示すように、工具先端点が送り速度６００ｍｍ／分（＝１０ｍｍ／秒）でＸ軸方向に９．０ｍｍ移動するとともに、当該移動に伴って工具姿勢がＢ軸周りに４５度移動する。つづいて、Ｎ２ブロックでは、図８に示すように、工具先端点がＮ１ブロックと同じ送り速度（１０ｍｍ／秒）のまま、Ｘ軸方向に１．０ｍｍ移動する一方、当該移動に伴って工具姿勢はＢ軸周りにさらに４５度移動することとなる。
【０００５】
すなわち、図９（ａ）に示すように、工具先端点のワークに対する相対速度は、Ｎ１ブロックおよびＮ２ブロックの双方において一定（１０ｍｍ／秒）である。このため、各ブロックに要する移動時間は、工具先端点の移動距離に比例し、Ｎ１ブロックでは、０．９秒（＝９．０／１０）であるのに対し、Ｎ２ブロックでは、０．１秒（＝１．０／１０）しかかからない。
【０００６】
一方、工具姿勢の移動角度は、上述したとおり、Ｎ１ブロックおよびＮ２ブロックの双方において同一（４５度）である。このため、各ブロックにおける工具姿勢の移動速度は、図９（ｂ）に示すように、Ｎ１ブロックでは、５０度／秒（＝４５／０．９）であるのに対し、Ｎ２ブロックでは、４５０度／秒（＝４５／０．１）となる。すなわち、Ｎ１ブロックからＮ２ブロックまでの間では、工具先端点の速度が一定であるにもかかわらず、回転軸の移動速度が急激に変化する。
【０００７】
上記のようなケースでは、急激な速度変化に応じた加速度が発生するため、回転軸に大きな負荷が掛かって破損してしまうおそれがある。また、上記のような加減速を繰り返すことによって工具が振動するため、ワークの加工面に誤差を発生させ、品質が低下してしまうという問題もある。
【０００８】
そこで、従来の多軸加工機では、各ブロックの始点および終点近傍においてのみ、工具先端点の速度を減速制御する機能や、各ブロックにおける工具先端点の速度を全体的に減速制御する機能を有している。これらの機能によって、回転軸の速度変化が小さくなるように減速制御すると、大きな加速度の発生は抑制される。しかしながら、その一方で、減速制御するほど加工時間が長くなってしまうという別の問題が発生する。
【０００９】
上記課題を解決するものとして、例えば、特許第４３５１２８１号公報には、各ブロックに対して、工具方向の変化量と直線軸の変化量とが比例するように、工具方向指令を補正する工具方向指令補正手段を備えた、５軸加工機を制御する数値制御装置が開示されている（特許文献１）。
【００１０】
上記特許文献１に記載の数値制御装置によれば、上記加工プログラム例１を実行した場合、図１１（ａ）に示すように、Ｎ１ブロックとＮ２ブロックにおける直線軸（Ｘ軸方向）の変化量が「９（９ｍｍ）：１（１ｍｍ）」であるため、工具方向（Ｂ軸周り）の変化量も「９：１」となるように、Ｎ１ブロックの工具方向指令（Ｂ軸の指令角度）が補正される。すなわち、図１０に示すように、Ｎ１ブロックでは、Ｂ軸の指令角度（０度）に３６度加算して８１度移動させることとなり、Ｎ２ブロックでは、残りの９度を移動させることとなる。これにより、図１１（ｂ）に示すように、Ｂ軸の移動速度も各ブロックで一定（９０度／秒）となるため、上述した減速制御を行う必要はない。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特許第４３５１２８１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかしながら、上記特許文献１においては、各ブロックにおける直線軸（工具先端点）の指令速度が一定であることが前提とされており、現実的ではない。すなわち、数値制御装置においては、一般的に、加工プログラム上の指令速度が一定であっても、工作条件や工作機械の性能等に応じて直線軸の移動速度が自動的に加減速制御されている。また、加工プログラム上で直線軸の指令速度を変化させる場合もあるため、実際には、直線軸の移動速度は一定ではなく、ブロックごとに変化する場合が多い。
【００１３】
例えば、上記特許文献１に記載の数値制御装置によって、以下に示す加工プログラム例２を実行した場合における工具先端点および工具姿勢の動作について説明する。
〔加工プログラム例２〕
Ｎ０  Ｘ０．０  Ｂ−４５．０；
Ｎ１  Ｇ０１  Ｘ９．０  Ｂ０．０  Ｆ６００；
Ｎ２  Ｇ０１  Ｘ１０．０  Ｂ４５．０  Ｆ３００；
【００１４】
上記加工プログラム例２では、上記加工プログラム例１と比較して、Ｎ２ブロックでの指令速度が３００ｍｍ／分（＝５ｍｍ／秒）に半減されている。このため、図１２（ａ）に示すように、当該Ｎ２ブロックに要する移動時間は、Ｎ１ブロックの２倍の０．２秒（＝１．０／５）となる。しかしながら、特許文献１に記載の数値制御装置によって、工具方向の変化量と直線軸の変化量とが比例するように工具方向指令を補正しても、上記のとおり、各ブロックの移動量は、それぞれ８１度と９度のままである。
【００１５】
このため、図１２（ｂ）に示すように、Ｂ軸の移動速度は、Ｎ１ブロックでは９０度／秒（＝８１／０．９）となるのに対し、Ｎ２ブロックでは４５度／秒（＝９／０．２）となってしまう。すなわち、各ブロックで直線軸の移動速度が変化する場合には、上記特許文献１に係る補正を行っても、回転軸の移動速度が変化することとなる。したがって、結局のところ、当該速度変化に応じた回転軸の加減速が必要となるため、回転軸やワークへのダメージ、および加工時間の増大化は避けられないという問題がある。
【００１６】
本発明は、このような問題点を解決するためになされたものであって、加工プログラムの各ブロックごとに工具先端点の移動速度が変化する場合であっても、加工時間を増大させることなく工具姿勢の速度変化を抑制し、回転軸やワークへのダメージを低減することができる加工プログラム処理装置およびこれを備えた多軸加工機を提供することを目的としている。
【課題を解決するための手段】
【００１７】
本発明に係る加工プログラム処理装置は、加工プログラムの各ブロックごとに工具先端点の移動速度が変化する場合であっても、加工時間を増大させることなく回転軸の速度変化を抑制し、回転軸やワークへのダメージを低減するという課題を解決するために、少なくとも２つの直線軸および少なくとも１つの回転軸を有する多軸加工機の動作を制御する加工プログラムを処理する加工プログラム処理装置であって、前記加工プログラムの各ブロックにおける工具姿勢の移動角度と、前記各ブロックにおける工具先端点の移動時間とが比例するように、前記各ブロックの指令角度を補正する制御手段を有している。
【００１８】
また、本発明の一態様として、各ブロックの移動時間を高精度に算出するという課題を解決するために、前記制御手段は、前記加工プログラムで指定されている指令速度または前記加工プログラム処理装置の内部で自動調整される移動速度を用いて、前記ワークに対する工具先端点の相対速度を前記各ブロックごとに算出し、前記各ブロックにおける移動距離を前記相対速度で除算することにより前記移動時間を算出してもよい。
【００１９】
さらに、本発明の一態様として、各軸に設定されている許容速度および／または許容加速度の制限を考慮して相対速度を算出するために、前記制御手段は、前記多軸加工機を構成する各軸の許容速度および／または許容加速度の制限を超えない範囲で前記相対速度を算出してもよい。
【００２０】
また、本発明の一態様として、第ｎブロックの補正に用いるブロック数を適宜設定するという課題を解決するために、前記制御手段は、前記加工プログラムの第ｎブロック（ｎ：Ｍ＋１以上の自然数）の指令角度を補正する場合、前記第ｎブロックの前後Ｍ個(Ｍ：自然数）の各ブロックにおける補正前の移動角度を用いて前記指令角度を補正してもよい。
【００２１】
さらに、本発明の一態様として、前記加工プログラム処理装置は、前記加工プログラムによって前記多軸加工機を制御しワークの加工を行う数値制御装置、または、前記多軸加工機で利用可能な前記加工プログラムの生成および編集を行うコンピュータ支援製造（ＣＡＭ）装置であってもよい。
【００２２】
また、本発明に係る多軸加工機は、上述したいずれかの態様の加工プログラム処理装置を備えてなるものである。
【発明の効果】
【００２３】
本発明によれば、加工プログラムの各ブロックごとに工具先端点の移動速度が変化する場合であっても、加工時間を増大させることなく工具姿勢の速度変化を抑制し、回転軸やワークへのダメージを低減することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明に係る加工プログラム処理装置およびこれを備えた多軸加工機の第１実施形態を示すブロック図である。
【図２】本第１実施形態の５軸加工機における直線軸３軸および回転軸２軸を示す図である。
【図３】本第１実施形態において、加工プログラムをブロックバッファに保存する処理を示すフローチャートである。
【図４】本第１実施形態において、加工プログラムの各ブロックの指令角度を補正する処理を示すフローチャートである。
【図５】本発明に係る加工プログラム処理装置およびこれを備えた多軸加工機の第２実施形態を示すブロック図である。
【図６】本実施例１において、第１実施形態の数値制御装置または第２実施形態のＣＡＭ装置により加工プログラム例２を実行した場合の工具先端点および工具姿勢の動作を示す図である。
【図７】本実施例１における、（ａ）工具先端点の速度、および（ｂ）回転軸の速度を示す図である。
【図８】従来の５軸加工機における工具先端点制御の動作を示す図である。
【図９】図８に示す工具先端点制御における、（ａ）工具先端点の速度、および（ｂ）回転軸の速度を示す図である。
【図１０】特許文献１の数値制御装置により加工プログラム例１を実行した場合の工具先端点および工具姿勢の動作を示す図である。
【図１１】特許文献１の数値制御装置により加工プログラム例１を実行した場合における、（ａ）工具先端点の速度、および（ｂ）回転軸の速度を示す図である。
【図１２】特許文献１の数値制御装置により加工プログラム例２を実行した場合における、（ａ）工具先端点の速度、および（ｂ）回転軸の速度を示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明に係る加工プログラム処理装置およびこれを備えた多軸加工機の各実施形態について図面を用いて説明する。なお、本発明に係る加工プログラム処理装置は、多軸加工機の動作を制御する加工プログラムを処理可能な全ての装置を含む概念である。また、本発明にかかる多軸加工機は、少なくとも２つの直線軸および少なくとも１つの回転軸を有する全ての工作機械を含む概念である。
【００２６】
まず、本発明に係る加工プログラム処理装置１およびこれを備えた多軸加工機１１の第１実施形態として、数値制御装置１Ａおよびこれを備えた５軸加工機１１Ａについて説明する。本第１実施形態の数値制御装置１Ａは、図１に示すように、外部記憶装置１０に記憶されている加工プログラムに基づいて、５軸加工機１１Ａへ各種の命令信号を出力することにより５軸加工機１１Ａを制御し、ワークに対して様々な加工を行うためのものである。以下、各構成について詳細に説明する。なお、本発明に係る数値制御装置１Ａは、いわゆるコンピュータ数値制御（ＣＮＣ：Computerized Numerical Control）等の数値制御処理を実行可能な全ての装置を含む概念である。
【００２７】
外部記憶装置１０は、一般的なオペレーティングシステムが搭載されたパーソナルコンピュータ等によって構成されている。本第１実施形態において、外部記憶装置１０は、ＣＦカード等のメモリーカードを差し込むためのカードスロット（図示せず）を備えており、当該メモリーカード内に加工プログラムが記憶されている。そして、外部記憶装置１０は、当該メモリーカードから加工プログラムを読み出し、数値制御装置１Ａへ供給するようになっている。
【００２８】
また、加工プログラムは、コンピュータ支援製造（ＣＡＭ：Computer Aided Manufacturing）システム等によって作成され、５軸加工機１１Ａを工具先端点制御するためのプログラム指令を含むものである。本第１実施形態において、加工プログラムは、上記加工プログラム例１，２のように、複数のブロックによって構成されており、当該ブロックには、工具先端点の指令位置および工具姿勢の指令角度を指定するＧコードや、ワークに対する工具先端点の相対速度を指令するＦコード等が記述されている。なお、本第１実施形態において、工具先端点の指令位置は、直線軸（Ｘ軸、Ｙ軸、Ｚ軸）の位置座標によって指定され、工具姿勢の指令角度は、回転軸（Ｂ軸，Ｃ軸）の移動角度によって指定されている。
【００２９】
５軸加工機１１Ａは、金属、木材、石材、樹脂等のワークに対して、旋削、中ぐり、フライス削り、穴あけ、ねじ立てなど多種類の加工を施すための工作機械である。本第１実施形態において、５軸加工機１１Ａは、図２に示すように、直交する直線軸３軸（Ｘ軸、Ｙ軸、Ｚ軸）と、回転軸２軸（Ｂ軸、Ｃ軸）とを有している。そして、これら５軸が、後述する命令信号補間部３５から出力された命令信号に基づいて同時制御されることにより、工具先端点や工具姿勢を移動させ、各種の加工処理を実行するようになっている。
【００３０】
なお、本第１実施形態において、５軸加工機１１Ａは、回転軸が工具ヘッド側に設けられる工具回転ヘッド型を想定しているが、この構成に限定されるものではなく、回転軸２軸でテーブルを回転するテーブル回転型や、一方の回転軸１軸で工具ヘッドを回転させ、もう一方の回転軸でテーブルを回転させる混合型であってもよい。また、本第１実施形態において、５軸加工機１１Ａは、数値制御装置１Ａを備えてなる５軸制御マシニングセンタを想定しているが、この構成に限定されるものではなく、５軸加工機１１Ａと数値制御装置１Ａとは別体として構成されていてもよい。
【００３１】
数値制御装置１Ａは、コンピュータ等によって構成されており、加工プログラムによって５軸加工機１１Ａを制御しワークの加工を行うものである。図１に示すように、数値制御装置１Ａは、主として、各種のデータを記憶するとともに、制御手段３が演算処理を行う際のワーキングエリアとして機能する記憶手段２と、記憶手段２にインストールされた数値制御装置用プログラム１ａを実行することにより、各種の演算処理を実行する制御手段３とを有している。以下、各構成手段について説明する。
【００３２】
記憶手段２は、ハードディスク、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、フラッシュメモリ等で構成されており、図１に示すように、プログラム記憶部２１と、ブロックバッファ２２とを有している。
【００３３】
プログラム記憶部２１には、リアルタイムオペレーティングシステム（ＲＴＯＳ）が搭載されているとともに、本第１実施形態の数値制御装置１Ａを制御するための数値制御装置用プログラム１ａがインストールされている。そして、制御手段３が、当該数値制御装置用プログラム１ａを実行することにより、コンピュータを後述する各構成部としてとして機能させるようになっている。
【００３４】
なお、数値制御装置用プログラム１ａの利用形態は、上記構成に限られるものではない。例えば、ＣＤ−ＲＯＭやＵＳＢメモリ等のように、コンピュータで読み取り可能な非一時的な記録媒体に数値制御装置用プログラム１ａを記憶させておき、当該記録媒体から直接読み出して実行してもよい。また、外部サーバ等からクラウドコンピューティング方式やＡＳＰ（Application Service Provider）方式等で利用してもよい。
【００３５】
ブロックバッファ２２は、加工プログラムを構成する複数のブロックを保存するものである。本第１実施形態において、ブロックバッファ２２は、後述する加工プログラム解析部３２によって解析された各種のブロックを順次保存するようになっている。そして、各ブロックは、ＦＩＦＯ（ファーストインファーストアウト）方式に従って、ブロックバッファ２２に格納された順番で順次処理され、メモリ残量が無くなると処理済みのブロックから順次上書きされるようになっている。
【００３６】
つぎに、制御手段３は、ＣＰＵ（Central Processing Unit）等によって構成されており、記憶手段２にインストールされた数値制御装置用プログラム１ａを実行することにより、図１に示すように、加工プログラム取得部３１と、加工プログラム解析部３２と、相対速度算出部３３と、指令角度補正部３４と、命令信号補間部３５として機能するようになっている。以下、各構成部についてより詳細に説明する。
【００３７】
加工プログラム取得部３１は、加工プログラム解析部３２からの要求に応じて、加工プログラムを外部記憶装置１０から取得するものである。なお、本第１実施形態では、数値制御装置１Ａと外部記憶装置１０とがＬＡＮケーブルで通信可能に接続されているが、この構成に限定されるものではなく、ブルートゥース（登録商標）等の無線通信インターフェースを介して無線通信可能に構成されていてもよい。
【００３８】
加工プログラム解析部３２は、加工プログラムを解析するためのものである。本第１実施形態において、加工プログラム解析部３２は、加工プログラム取得部３１によって取得された加工プログラムを１ブロックずつ読み込み、記述された動作命令を解析し、解析結果としてのブロックをブロックバッファ２２へ順次格納するようになっている。
【００３９】
相対速度算出部３３は、ワークに対する工具先端点の相対速度を算出するものである。本第１実施形態において、相対速度算出部３３は、加工プログラムで指定されている指令速度または数値制御装置１Ａの内部で自動調整される移動速度を用いて、ワークに対する工具先端点の相対速度を各ブロックごとに算出する。ここで、本発明において、数値制御装置１Ａの内部で自動調整される移動速度とは、工具やワークの条件、加工条件および５軸加工機１１Ａの性能等に基づいて、各ブロックごとに自動調整される移動速度であり、加工プログラムの指令速度を超えない範囲で調整される。
【００４０】
このため、相対速度算出部３３は、上記相対速度の算出に際して、加工プログラムで指定されている指令速度が自動調整されないブロックについては、当該指令速度を使用し、自動調整されるブロックについては当該自動調整後の移動速度を読み出して使用するようになっている。なお、工具先端点制御では、工具先端点と工具姿勢とが同期して移動されるため、移動が指令されている軸以外の他の軸も移動することがある。このため、当該他の軸の移動速度についても、数値制御装置１Ａの内部で自動調整されることとなる。
【００４１】
また、本第１実施形態において、相対速度算出部３３は、加工プログラム上の指令速度を超えない範囲で、かつ、５軸加工機１１Ａを構成する各軸の許容速度および許容加速度の制限を超えない範囲で、ワークに対する工具先端点の相対速度を算出する。具体的には、５軸加工機１１Ａでは、サーボモータの諸元や制御手段３の演算速度等により機械構成軸の速度および加速度に予め制限が設定されている。このため、相対速度算出部３３は、加工プログラム上の指令速度または自動調整後の移動速度から、各軸の速度および加速度を割り出した後、各軸のいずれかが許容速度または許容加速度を超えている場合、当該軸の速度や加速度が許容範囲内となるように補正した上で相対速度を算出するようになっている。
【００４２】
例えば、ブロックの開始点の速度、ブロックの終了点の速度およびブロックの途中の最大速度が、全て加工プログラムで指定されている指令速度よりも遅い速度になるように制御される。なお、本第１実施形態では、許容速度および許容加速度の双方を考慮しているが、この構成に限定されるものではなく、少なくともいずれか一方を考慮してもよい。
【００４３】
指令角度補正部３４は、加工プログラムの各ブロックにおける工具姿勢の移動角度と、各ブロックにおける工具先端点の移動時間とが比例するように、各ブロックの指令角度を補正するものである。本第１実施形態において、指令角度補正部３４は、第ｎブロック（ｎ：Ｍ＋１以上の自然数）の指令角度を補正する場合、当該第ｎブロックの前後Ｍ個（Ｍ：自然数）の各ブロックにおける補正前の移動角度を用いて指令角度を補正する。このため、指令角度補正部３４は、まず、第ｎブロックおよびその前後Ｍ個のブロックをブロックバッファ２２から取得する。
【００４４】
ここで、パラメータｎは、補正対象ブロックを指定するものであり、加工開始時には初期値としてＭ＋１に設定される。第１〜第Ｍブロックまでは補正に必要なブロックが存在しないためである。しかしながら、パラメータｎの値はＭ＋１に限定されるものではなく、適宜設定してもよい。例えば、加工開始直後のように、補正対象ブロックの前方に存在するブロック数がＭ個に満たない場合であっても、前方に存在するブロックのみを用いて上記補正処理を実行するようにしてもよい。その場合、パラメータｎは１に設定される。
【００４５】
なお、本第１実施形態において、指令角度補正部３４は、前後Ｍ個のブロックを用いて第ｎブロックの指令角度を補正しているが、この構成に限定されるものではない。例えば、当該前後Ｍ個のブロック中に移動指令が含まれていないブロックが存在する場合は、当該ブロックを除外して補正処理を実行してもよい。
【００４６】
また、補正に用いる前後のブロック数Ｍは、大きな値に設定するほど回転軸の速度変化を効果的に抑制しうる場合が多いが、本来補正が不要なブロックまで補正するケースも想定される。例えば、第１〜第９９ブロックまでは工具姿勢を移動させず、第１００ブロックで工具姿勢を移動させる加工プログラムに対して、Ｍを５０に設定した場合、第５１ブロック以降の全ブロックで回転軸の速度が一定となるように補正されることとなる。
【００４７】
よって、指令角度補正部３４は、取得したブロックのうち、工具姿勢の移動がないブロックが所定数連続するときは、補正が不要なブロック群と判断し、指令角度が所定数連続して指定されているブロック群に対してのみ補正処理を実行するようにしてもよい。これにより、補正が必要なブロック群についてのみ補正でき、補正が不要なブロック群については補正しないこととなる。なお、補正に用いる前後のブロック数Ｍは、ユーザにより適宜設定可能である。
【００４８】
つづいて、指令角度補正部３４は、各ブロックにおける工具先端点の移動距離を、相対速度算出部３３によって算出された各ブロックにおける工具先端点の相対速度で除算することにより、各ブロックにおける工具先端点の移動時間を算出する。本第１実施形態において、各ブロックにおける工具先端点の移動距離は、工具先端点が前ブロックの指令位置から現ブロックの指令位置まで移動する際のワークに対する相対距離である。また、各ブロックにおける工具先端点の移動時間は、工具先端点が前ブロックの指令位置から現ブロックの指令位置に移動するまでに要する時間である。
【００４９】
そして、指令角度補正部３４は、各ブロックにおける工具姿勢の移動角度と、各ブロックにおける工具先端点の移動時間とが比例するように、各ブロックの指令角度を補正する。具体的には、指令角度補正部３４は、第ｎブロックの指令角度を補正する場合、当該第ｎブロックおよびその前後Ｍ個の各ブロックからなる合計２Ｍ＋１個の各ブロックに要する移動時間の総和で当該第ｎブロックの移動時間を除算し、その商に前記２Ｍ＋１個の各ブロックで指定されている補正前の移動角度の総和を掛け合わせる。これにより、第ｎブロックで移動すべき移動角度が算出されるため、指令角度補正部３４は、当該算出した移動角度だけ移動するように、第ｎブロックの指令角度を補正する。当該補正処理を順次実行することにより、各ブロックの移動角度と工具先端点の移動時間とが比例するように、各ブロックの指令角度が補正されることとなる。
【００５０】
なお、指令角度補正部３４による補正処理は、上述した演算処理に限定されるものではなく、各ブロックにおける工具姿勢の移動角度と、各ブロックにおける工具先端点の移動時間とが比例するように、各ブロックの指令角度を補正するものであれば、どのような演算処理であってもよい。また、本第１実施形態において、指令角度補正部３４は、実行中のブロックよりも先のブロックを先行して演算する先読み制御を行っている。例えば、５ブロックにまたがって演算する場合、演算開始時のみ５ブロックを読み込み、必要な演算が終わってから軸移動を行う。そして、軸移動の開始後は、先のブロックを次々と読み込んで演算するため、それ以降は、実行処理よりも補正処理が遅くなって待ち時間が発生することがない。
【００５１】
よって、本第１実施形態では、各ブロックの補正後の指令角度は、補正前の指令角度とともに別途、ブロックバッファ２２内に記憶させているが、この構成に限定されるものではない。すなわち、各ブロックの補正後の指令角度をブロックバッファ１１内に戻すことなく、直接、命令信号補間部３５へ送信してもよい。
【００５２】
また、指令角度を補正するに際しては、工具の種類や工具先端点のワーク上の経路等に応じた制限値を設定しておくことが好ましい。例えば、ボールエンドミルで加工する場合は、刃先が丸いため他の工具よりも当該制限値を大きめに設定してもよい。また、工具の進行方向に対して補正する場合は、ワークに対する影響が少ないため、他の方向よりも当該制限値を大きめに設定してもよい。これにより、ワークの加工面に対する工具の食い込み等を回避しつつ、工具の種類や工具先端点のワーク上の経路等に応じて、きめ細やかな補正を行うことが可能となる。
【００５３】
また、本第１実施形態において、指令角度補正部３４は、補正後の第ｎブロックを実行すると、残りブロック数がＭ個以上ある限り、再び、第ｎ＋１ブロックおよびその前後Ｍ個のブロックを取得して、上述の補正処理を繰り返すようになっている。一方、残りブロック数がＭ個より少なくなると、補正処理を終了する。しかしながら、当該処理に限定されるものではなく、残りブロック数がＭ個に満たない場合であっても、後方に存在するブロックのみを用いて上記補正処理を実行するようにしてもよい。なお、指令角度補正部３４は、回転軸２軸のうち、いずれか一方の指令角度のみを補正してもよく、双方の指令角度を補正してもよい。
【００５４】
命令信号補間部３５は、５軸加工機１１Ａへの命令信号を補間処理し、当該命令信号を実行させるものである。本第１実施形態において、命令信号補間部３５は、ブロックバッファ２２に格納されている補正後のブロックを順次読み出して各軸の指令位置を求める補間演算を実行する。そして、各軸の移動指令量を、Ｘ軸サーボアンプ、Ｙ軸サーボアンプ、Ｚ軸サーボアンプ、Ｂ軸サーボアンプおよびＣ軸サーボアンプのそれぞれへ出力し、当該ブロックに応じた動作を５軸加工機１１Ａに実行させるようになっている。
【００５５】
つぎに、本第１実施形態の数値制御装置１Ａおよびこれを備えた５軸加工機１１Ａによる作用について説明する。
【００５６】
まず、本第１実施形態の数値制御装置１Ａによって５軸加工機１１Ａを制御しワークの加工を行う場合、図３に示すように、加工プログラム取得部３１が、外部記憶装置１０から加工プログラムを取得する（ステップＳ１）。加工プログラムを外部記憶装置１０に保存することで、数値制御装置１Ａ側のメモリを増設することなく、ファイルサイズの大きな加工プログラムを処理することが可能となる。
【００５７】
つぎに、加工プログラム解析部３２が、加工プログラム取得部３１によって取得された加工プログラムを解析し（ステップＳ２）、その解析結果としてのブロックをブロックバッファ２２へ順次格納する（ステップＳ３）。これにより、ブロックバッファ２２には、工具先端点（直線軸３軸）の指令位置、工具姿勢（回転軸２軸）の指令角度およびワークに対する工具先端点の相対速度等を含む各ブロックが格納される。
【００５８】
上述したステップＳ１〜Ｓ３の各処理は、加工プログラムを構成する全ブロックが取得されるまで繰り返された後（ステップＳ４）、終了する。また、これらの処理と同時並行して、相対速度算出部３３および指令角度補正部３４が、図４に示す指令角度の補正処理を実行する。そして、補正されたブロックから順次、命令信号補間部３５によって命令信号へ補間処理された後、５軸加工機１１Ａへ出力されて実行されることとなる。
【００５９】
具体的には、まず、指令角度補正部３４が、パラメータｎをＭ＋１に設定して（ステップＳ１１）、第ｎブロックおよびその前後Ｍ個のブロックをブロックバッファ２２から取得する（ステップＳ１２）。このとき、補正対象ブロック数Ｍを適切な値に設定することにより、回転軸の速度変化がより低減するように、指令角度を補正することが可能となる。
【００６０】
つぎに、相対速度算出部３３が、指令角度補正部３４によって取得された全２Ｍ＋１個の各ブロックについて、ワークに対する工具先端点の相対速度を算出する（ステップＳ１３）。これにより、当該２Ｍ＋１個の各ブロックについて算出された最適な相対速度に基づいて、指令角度を適切に補正することが可能となる。
【００６１】
また、本第１実施形態において、相対速度算出部３３は、加工プログラムで指定されている指令速度が、数値制御装置１Ａの内部で自動調整される場合、当該調整後の移動速度を用いて相対速度を算出する。このため、より正確な相対速度が算出される。また、本第１実施形態において、相対速度算出部３３は、加工プログラムの指令速度や、各構成軸の許容速度および許容加速度を超えない範囲で相対速度を算出する。このため、５軸加工機１１Ａの破損が防止されるとともに、加工時の振動が抑制され加工誤差の発生が回避される。
【００６２】
つづいて、指令角度補正部３４が、２Ｍ＋１個の各ブロックについて、工具先端点の移動距離をステップＳ１３で算出された相対速度で除算することにより工具先端点の移動時間を算出する（ステップＳ１４）。これにより、２Ｍ＋１個の各ブロックごとの移動時間が算出される。なお、本第１実施形態において、指令角度補正部３４は、第ｎブロックの移動距離を特定するに際して、第ｎ−１ブロックの指令位置を初期位置として使用する。
【００６３】
そして、指令角度補正部３４は、２Ｍ＋１個の各ブロックにおける工具姿勢の移動角度と、２Ｍ＋１個の各ブロックにおける工具先端点の移動時間とが比例するように、第ｎブロックの指令角度を補正する（ステップＳ１５）。これにより、工具先端点の移動速度がブロックごとに変化する場合であっても、工具姿勢が一定速度で移動するように、第ｎブロックの指令角度が補正される。このため、加工時間の増大が抑制されるとともに、回転軸やワークへのダメージも低減される。
【００６４】
つぎに、指令角度補正部３４が、補正処理を実行していない残りのブロック数がＭ個以上あるか否かを判定する（ステップＳ１６）。当該判定の結果、未処理のブロック数がＭ個以上ある場合には（ステップＳ１６：ＹＥＳ）、パラメータｎをインクリメントした後（ステップＳ１７）、再びステップＳ１２に戻り、第ｎブロックを前後Ｍ個のブロックを用いて補正する。
【００６５】
一方、未処理のブロック数がＭ個未満になると（ステップＳ１６：ＮＯ）、本処理を終了する。そして、当該未処理の各ブロックについては、最後に補正が行われたブロックについて算出された指令角度によって実行されるようになっている。なお、上述したとおり、残りブロック数がＭ個未満になっても、残りのブロックのみを用いて補正処理を実行してもよく、あるいは補正処理を中断してもよい。
【００６６】
なお、本補正処理が実行されるのと同時並行して、命令信号補間部３５は、ブロックバッファ２２内のブロックを順次読み出して補間処理し、５軸加工機１１Ａに命令信号を出力する。これにより、指令角度補正部３４が補正前のブロックを順次先読みして指令角度を補正しながら、命令信号補間部３５が補正後のブロックに基づく命令信号を順次出力することが可能となる。
【００６７】
以上のような本第１実施形態によれば、以下のような効果を奏する。
１．加工プログラムの各ブロックごとに工具先端点の移動速度が変化する場合であっても、加工時間を増大させることなく工具姿勢の速度変化を抑制することができる。
２．多軸加工機１１の回転軸に大きな加速度が発生するのを抑制し、回転軸が破損してしまうのを防止することができる。
３．各軸の許容速度や許容加速度の制限を考慮してワークに対する工具先端点の相対速度を算出し、多軸加工機１１の破損や振動によるワークの加工誤差を回避することができる。
４．各ブロックの開始点または終了点において移動速度を低下させることがないため、加工時間を短縮することができる。
５．補正に用いる前後のブロック数（Ｍ）を大きく設定することで、工具姿勢の移動速度の変化をより一層抑制することができる。
６．補正に用いる前後のブロック数（Ｍ）を小さく設定することで、特定のブロックの影響を受けて複数のブロックに対して不必要な補正がなされることを回避することができる。
７．指令角度の補正が不要なブロック群には補正処理を行わず、当該補正が必要なブロック群にのみ補正処理を実行することができる。
【００６８】
つぎに、本発明に係る加工プログラム処理装置１およびこれを備えた多軸加工機１１の第２実施形態として、コンピュータ支援製造装置（以下、「ＣＡＭ装置」という）１Ｂおよびこれを備えた５軸加工機１１Ａについて説明する。なお、第２実施形態の構成のうち、上述した第１実施形態と同一もしくは相当する構成については同一の符号を付し、再度の説明を省略する。
【００６９】
本第２実施形態の特徴は、多軸加工機１１で利用可能な加工プログラムの生成および編集を行うＣＡＭ装置１Ｂに相対速度算出部３３および指令角度補正部３４を実装した点にある。
【００７０】
本第２実施形態のＣＡＭ装置１Ｂは、図５に示すように、コンピュータ支援設計装置１２（以下、「ＣＡＤ装置」という）で生成されたＣＡＤデータに基づいて、５軸加工機１１Ａで利用可能な加工プログラムの生成および編集を行うためのものである。以下、各構成について説明する。
【００７１】
ＣＡＤ装置１２は、一般的なオペレーティングシステムが搭載されたパーソナルコンピュータ等によって構成されている。本第２実施形態において、ＣＡＤ装置１２は、図示しない表示手段や入力手段を用いることにより、加工しようとする工作物の３次元形状を定義するＣＡＤデータを生成するようになっている。
【００７２】
ＣＡＭ装置１Ｂは、一般的なオペレーティングシステムが搭載されたコンピュータ等によって構成されており、５軸加工機１１Ａで利用可能な加工プログラムの生成および編集を行うものである。図５に示すように、ＣＡＭ装置１Ｂは、主として、各種のデータを記憶するとともに、制御手段３が演算処理を行う際のワーキングエリアとして機能する記憶手段２と、記憶手段２にインストールされたＣＡＭ用プログラム１ｂを実行することにより、各種の演算処理を実行する制御手段３とを有している。以下、各構成手段について説明する。
【００７３】
なお、本第２実施形態において、ＣＡＭ装置１Ｂは、ＣＡＤ装置１２と別体として構成されているがこの構成に限定されるものではない。すなわち、ＣＡＤ装置１２によるＣＡＤデータ生成機能を兼ね備えたＣＡＭ装置１Ｂとして構成してもよい。また、本第２実施形態において、ＣＡＭ装置１Ｂは、５軸加工機１１Ａに加工プログラムを転送可能に接続されているが、この構成に限定されるものではなく、スタンドアローンとしてもよい。
【００７４】
記憶手段２は、図５に示すように、プログラム記憶部２１と、加工プログラム記憶部２３とを有している。プログラム記憶部２１には、本第２実施形態のＣＡＭ装置１Ｂを制御するためのＣＡＭ用プログラム１ｂがインストールされている。そして、制御手段３が、当該ＣＡＭ用プログラム１ｂを実行することにより、コンピュータを後述する各構成部としてとして機能させるようになっている。
【００７５】
加工プログラム記憶部２３は、ＣＡＭ装置１Ｂによって生成および編集された加工プログラムを記憶するものである。本第２実施形態において、加工プログラム記憶部２３は、後述する加工プログラム生成部３７によって生成された加工プログラム、図示しない加工プログラム編集部によって編集された加工プログラム、および指令角度補正部３４によって補正された後の加工プログラムを記憶するようになっている。
【００７６】
つぎに、制御手段３は、記憶手段２にインストールされたＣＡＭ用プログラム１ｂを実行することにより、図５に示すように、工具経路データ生成部３６と、加工プログラム生成部３７と、相対速度算出部３３と、指令角度補正部３４と、加工プログラム転送部３８として機能するようになっている。以下、各構成部について説明する。
【００７７】
工具経路データ生成部３６は、メインプロセッサで構成されており、ＣＡＤデータから工具経路データ（ＣＬデータ）を生成するものである。本第２実施形態において、工具経路データ生成部３６は、ＣＡＤ装置１２で生成された工作物のＣＡＤデータを取得するとともに、経路生成情報（工具形状、面に対する工具姿勢、送りピッチ等）を取得する。そして、工具経路データ生成部３６は、これらＣＡＤデータと経路生成情報とからワーク座標系における各工具移動位置の工具中心点を算出し、工具軸（主軸）の方向を表す工具軸ベクトルを算出するようになっている。
【００７８】
また、５軸加工機１１Ａでは、工具が工作物に対して任意の姿勢をとれることから、主軸側（主軸、工具、チャック等）とテーブル側（テーブル、治具、工作物等）との干渉が問題となる。このため、工具経路データ生成部３６は、当該干渉の有無を確認し、干渉がある場合は、当該干渉を回避するように工具姿勢等を変更する。以上のようにして、ワーク座標系における工具経路データ（ＣＬデータ）が生成される。
【００７９】
加工プログラム生成部３７は、ポストプロセッサで構成されており、工具経路データから加工プログラムを生成するものである。本第２実施形態において、加工プログラム生成部３７は、工具経路データ生成部３６によって生成された工具経路データを取得するとともに、工作機械ごとに予め設定された工作機械データを取得する。そして、これら工具経路データおよび工作機械データに基づいて、加工プログラム生成部３７は、工具経路データを構成する工具軸ベクトルから回転軸の回転角度を算出する。
【００８０】
続いて、加工プログラム生成部３７は、当該回転角度および前記ワーク座標系における工具中心点に基づいて、当該回転軸が回転した後の絶対座標系における工具中心点を算出する。そして、加工プログラム生成部３７は、工具経路を幾つかに分割して位置偏差を許容値以下に抑えるリニアライゼーション処理を行った後、予め設定された加工条件データに基づいて、送り速度制御処理、主軸回転速度制御処理を順次実行する。以上のようにして、多軸加工機１１で利用可能な加工プログラム（ＮＣデータ）が生成され、当該加工プログラムを構成する複数のブロックが加工プログラム記憶部２３に保存されるようになっている。
【００８１】
相対速度算出部３３は、上述した第１実施形態と同様、ワークに対する工具先端点の相対速度を算出するものである。本第２実施形態において、相対速度算出部３３は、加工プログラムで指定されている指令速度を用いて、ワークに対する工具先端点の相対速度を各ブロックごとに算出する。この際、相対速度算出部３３は、第１実施形態と同様、加工プログラム上の指令速度を超えない範囲で、かつ、５軸加工機１１Ａを構成する各軸の許容速度および許容加速度の制限を超えない範囲で、ワークに対する工具先端点の相対速度を算出してもよい。
【００８２】
指令角度補正部３４は、上述した第１実施形態と同様、加工プログラムの各ブロックにおける工具姿勢の移動角度と、各ブロックにおける工具先端点の移動時間とが比例するように、各ブロックの指令角度を補正するものである。本第２実施形態において、指令角度補正部３４は、第ｎブロックの指令角度を補正する場合、まず、第ｎブロックおよびその前後Ｍ個のブロックを加工プログラム記憶部２３から取得する。
【００８３】
つづいて、指令角度補正部３４は、各ブロックにおける工具先端点の移動距離を、相対速度算出部３３によって算出された各ブロックにおける工具先端点の相対速度で除算することにより、各ブロックにおける工具先端点の移動時間を算出する。そして、指令角度補正部３４は、各ブロックにおける工具姿勢の移動角度と、各ブロックにおける工具先端点の移動時間とが比例するように、各ブロックの指令角度を補正する。
【００８４】
なお、本第２実施形態では、補正処理の実行中、各ブロックの補正後の指令角度は、補正前の指令角度とともに別途、加工プログラム記憶部２３内に記憶される。そして、補正処理の終了後、補正前の指令角度は補正後の指令角度によって上書きされ、全ブロックについて指令角度が補正された加工プログラムとして保存されるようになっている。
【００８５】
加工プログラム転送部３８は、ＣＡＭ装置１Ｂによって生成、編集または補正された加工プログラムを多軸加工機１１へ転送するものである。本第２実施形態において、加工プログラム転送部３８は、指令角度補正部３４によって、各ブロックの指令角度が補正された加工プログラムを図示しない有線通信手段または無線通信手段によって転送するようになっている。なお、上述したとおり、ＣＡＭ装置１Ｂをスタンドアローンで使用する場合、加工プログラム転送部３８を機能させる必要はない。
【００８６】
以上のような本第２実施形態のＣＡＭ装置１Ｂおよびこれを備えた５軸加工機１１Ａによれば、図４に示すとおり、指令角度補正部３４によって加工プログラムの各ブロックの指令角度が補正され、上述した第１実施形態と同様の作用を奏する。また、本第２実施形態によれば、上述した第１実施形態の効果に加えて、本発明に係る指令角度補正機能をＣＡＭ装置１Ｂに実装することができるという効果を奏する。
【００８７】
つぎに、本発明に係る加工プログラム処理装置１およびこれを備えた多軸加工機１１の具体的な実施例について説明する。なお、本発明の技術的範囲は、以下の実施例によって示される特徴に限定されるものではない。
【実施例１】
【００８８】
本実施例１では、上述した第１実施形態の数値制御装置１Ａまたは第２実施形態のＣＡＭ装置１Ｂによって、上記加工プログラム例２を補正処理した場合における工具先端点および工具姿勢の動作について、シミュレーションを行った。
【００８９】
本実施例１では、第１実施形態の数値制御装置１Ａまたは第２実施形態のＣＡＭ装置１Ｂが、上記加工プログラム例２を実行するにあたり、Ｎ１ブロックおよびその前後１個のブロック（Ｎ０ブロック，Ｎ２ブロック）を取得して補正処理を実行することとした。この場合、上記特許文献１と同様、図７（ａ）に示すように、Ｎ１ブロックの相対速度は６００ｍｍ／分（＝１０ｍｍ／秒）であり、Ｎ２ブロックの相対速度は３００ｍｍ／分（＝５ｍｍ／秒）であるから、Ｎ１ブロックの移動時間は０．９秒となり、Ｎ２ブロックの移動時間は０．２秒となる。
【００９０】
すなわち、Ｎ１ブロックとＮ２ブロックにおける工具先端点の移動時間は「９：２」となるため、工具姿勢（Ｂ軸）の移動角度も「９：２」となるように、Ｎ１ブロックにおけるＢ軸の指令角度が補正される。具体的には、図６に示すように、Ｎ１ブロックでは、移動角度が７３．６３６度（＝９０×９／１１）となるように、Ｂ軸の指令角度に２８．６３６度加算される。このため、Ｎ２ブロックでは、残りの１６．３６４度（＝９０×２／１１）を移動させることとなる。
【００９１】
したがって、Ｂ軸周りの移動速度は、図７（ｂ）に示すように、Ｎ１ブロックで約８１．８度／秒（＝７３．６３６／０．９）となり、Ｎ２ブロックにおいても約８１．８度／秒（＝１６．３６４／０．２）となるため、両ブロックにおいて回転軸の移動速度が一定となるようにＮ１ブロックの指令角度が補正された。
【００９２】
以上のような本実施例１によれば、第１実施形態の数値制御装置１Ａまたは第２実施形態のＣＡＭ装置１Ｂによって各ブロックの指令角度を補正することにより、各ブロックごとに工具先端点の移動速度が異なる場合であっても、各ブロック間において回転軸の移動速度が一定となることが示された。
【００９３】
なお、本発明に係る加工プログラム処理装置１およびこれを備えた多軸加工機１１は、上述した各実施形態に限定されるものではなく、適宜変更することができる。例えば、上述した第１実施形態では、３ブロックからなる加工プログラム例を示しているが、処理可能な加工プログラムのブロック数に制限はない。また、各軸位置指令はアブソリュート指令としているが、インクレメンタル指令でもよい。さらに、回転軸２軸をＢ軸およびＣ軸としているが他の名称であってもよい。
【００９４】
また、指令角度補正部３４は、上述した補正処理により最適化された回転軸の移動速度に制限値を設けてもよい。例えば、当該最適化された移動速度の１／２の速度を制限値として設定することにより、回転軸の移動速度変化がさらに抑制される可能性がある。
【符号の説明】
【００９５】
１  加工プログラム処理装置
１Ａ  数値制御装置
１ａ  数値制御装置用プログラム
１Ｂ  コンピュータ支援製造（ＣＡＭ）装置
１ｂ  ＣＡＭ用プログラム
２  記憶手段
３  制御手段
１０  外部記憶装置
１１  多軸加工機
１１Ａ  ５軸加工機
１２  コンピュータ支援設計（ＣＡＤ）装置
２１  プログラム記憶部
２２  ブロックバッファ
３１  加工プログラム取得部
３２  加工プログラム解析部
３３  相対速度算出部
３４  指令角度補正部
３５  命令信号補間部
３６  工具経路データ生成部
３７  加工プログラム生成部
３８  加工プログラム転送部
【図１】
0006644630.tif 000002
【図２】
0006644630.tif 000003
【図３】
0006644630.tif 000004
【図４】
0006644630.tif 000005
【図５】
0006644630.tif 000006
【図６】
0006644630.tif 000007
【図７】
0006644630.tif 000008
【図８】
0006644630.tif 000009
【図９】
0006644630.tif 000010
【図１０】
0006644630.tif 000011
【図１１】
0006644630.tif 000012
【図１２】
0006644630.tif 000013