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