(57)【特許請求の範囲】
【請求項１】
工具に対する移動指令が記述された加工プログラムから求めた工具経路に基づき、前記移動指令に従い前記工具経路上に設けられた複数の指令点の間に曲線経路を生成する曲線経路生成部と、
前記曲線経路に従って動作する工具が、加工対象物の仕上がり形状である加工曲面に沿って動作するか否かを判断するために前記曲線経路上に設けた点を評価点とし、前記工具と前記加工曲面が接触する点を基準点とした場合に、前記評価点と前記基準点との距離である距離Ｌに対する許容範囲の値が入力される許容寸法公差入力部と、
前記距離Ｌが、前記許容寸法公差入力部に入力された、前記許容範囲の値以内か否かを判断する曲線経路評価部と、
前記距離Ｌが前記許容範囲から外れている場合に、前記許容範囲から外れている評価点を、前記距離Ｌが前記許容範囲以内となる位置に移動させ、移動後の評価点を新たな指令点とし、前記工具経路を修正する工具経路修正部と、
を備える加工プログラム変換装置。
【請求項２】
前記曲線経路生成部は、連続した第１、第２、および第３の指令点のうち、前記第１の指令点と前記第３の指令点を結ぶ曲線経路を生成し、
前記工具経路修正部は、工具が、前記第１と第３の指令点を結ぶ曲線経路を通過する場合の前記距離Ｌが前記許容範囲以下であった場合に、前記第２の指令点を削除すること
を特徴とする請求項１に記載の加工プログラム変換装置。
【請求項３】
前記工具を定義する工具データが入力される工具データ入力部と、
前記加工対象物の前記加工曲面を定義する形状データが入力される形状データ入力部と、
をさらに備えることを特徴とする請求項１又は２に記載の加工プログラム変換装置。
【請求項４】
前記形状データは、前記加工曲面における加工公差を含み、前記許容範囲は、前記加工曲面における前記加工公差に従って決定されること、
を特徴とする請求項３に記載の加工プログラム変換装置。
【請求項５】
工具に対する移動指令が記述された加工プログラムから求めた工具経路に基づき、前記移動指令に従い前記工具経路上に設けられた複数の指令点の間に曲線経路を生成する曲線経路生成部と、
前記曲線経路に従って動作する工具が、加工対象物の仕上がり形状である加工曲面に沿って動作するかを判断するために前記曲線経路上に設けた点を評価点とし、前記工具と前記加工曲面が接触する点を基準点とした場合に、前記評価点と前記基準点との距離である距離Ｌに対する許容範囲の値が入力される許容寸法公差入力部と、
前記距離Ｌが、前記許容寸法公差入力部に入力された、前記許容範囲の値以内か否かを判断する曲線経路評価部と、
前記距離Ｌが前記許容範囲から外れている場合に、前記許容範囲から外れている評価点のみを、前記距離Ｌが前記許容範囲以内となる位置に移動させ、移動後の評価点を新たな指令点とし、前記工具経路を修正する工具経路修正部と、
を備える数値制御装置。
【請求項６】
前記曲線経路生成部で生成した曲線経路上に、一定時間周期である補間周期あたりの工具の移動量を求めて補間した補間点を生成する曲線経路補間部を備える、
ことを特徴とする請求項５に記載の数値制御装置。
【請求項７】
前記工具経路修正部は、前記距離Ｌに対する許容範囲から外れている前記評価点を、前記距離Ｌが前記許容範囲以下となる位置に移動させ、移動後の新たな指令点として追加すること、
を特徴とする請求項５又は６に記載の数値制御装置。
【請求項８】
前記曲線経路生成部は、連続した第１、第２、および第３の指令点のうち、前記第１の指令点と前記第３の指令点を結ぶ曲線経路を生成し、
前記工具経路修正部は、工具が、前記第１と第３の指令点を結ぶ曲線経路を通過するときの前記距離Ｌが前記許容範囲以下であった場合に、前記第２の指令点を削除すること
を特徴とする請求項５に記載の数値制御装置。
【請求項９】
前記工具を定義する工具データが入力される工具データ入力部と、
前記加工対象物の仕上がり形状を定義する形状データが入力される形状データ入力部と、
をさらに備えることを特徴とする請求項５から８のいずれか１項に記載の数値制御装置。
【請求項１０】
前記形状データは、前記加工曲面における加工公差を含み、前記許容範囲は、前記加工曲面における前記加工公差に従って決定されること、
を特徴とする請求項９に記載の数値制御装置。
【請求項１１】
加工プログラム変換装置又は数値制御装置が実行する加工プログラム変換方法であって、
工具および加工対象物に対する移動指令が記述された加工プログラムから求めた工具経路に基づき、前記移動指令に従い前記工具経路上に設けられた複数の指令点の間に曲線経路を生成するステップと、
前記曲線経路に従って動作する工具が、加工対象物の仕上がり形状である加工曲面に沿って動作するかを判断するために前記曲線経路上に設けた点を評価点とし、前記工具と前記加工曲面が接触する点を基準点とした場合に、前記評価点と前記基準点との距離である距離Ｌに対する許容範囲の値を入力するステップと、
前記距離Ｌが、入力された、前記許容範囲の値以内か否かを判断するステップと、
前記距離Ｌが前記許容範囲から外れている場合に、前記許容範囲から外れている評価点のみを、前記距離Ｌが前記許容範囲以内となる位置に移動させ、移動後の評価点を新たな指令点とし、前記工具経路を修正するステップと、
前記工具経路を修正する前記ステップで修正された工具経路を外部に出力するためのプログラムに変換するステップと、
を含む加工プログラム変換方法。
【請求項１２】
前記加工曲面、前記工具経路、前記工具を定義する工具データ、および前記工具経路修正部により前記工具経路を修正した後の加工プログラムに基づいて行われた加工結果の加工精度を含むデータセットを取得するデータ取得部と、
前記データセットを用いて、前記加工結果が所望の加工精度を満たす、前記距離Ｌに対する許容範囲を推論するための学習済モデルを生成する学習部と、
を備えることを特徴とする請求項１から４のいずれか１項に記載の加工プログラム変換装置。
【請求項１３】
前記加工曲面、前記工具経路、前記工具を定義する工具データ、および前記工具経路修正部により前記工具経路を修正した後の加工プログラムに基づいて行われた加工結果の加工精度を含むデータセットを取得するデータ取得部と、
前記データセットを用いて、前記加工結果が所望の加工結果を満たす、前記距離Ｌに対する許容範囲を推論するための学習済モデルを生成する学習部と、
を備えることを特徴とする請求項５から１０のいずれか１項に記載の数値制御装置。
【請求項１４】
加工対象物の仕上がり形状である加工曲面、工具に対する移動指令が記述された加工プログラムから求めた工具経路、前記工具を定義する工具データ、および、前記加工対象物の加工結果の加工精度、を含むデータセットを取得するデータ取得部と、
前記データセットを用いて、前記加工結果が所望の加工精度を満たす、許容寸法公差を推論するための学習済モデルを生成する学習部と、
を備え、
前記加工精度は、前記工具経路上に設けられた複数の指令点の間に生成された曲線経路に従って動作する前記工具が前記加工曲面に沿って動作するか否かを、前記曲線経路上に設けられた点を評価点とし前記工具と前記加工曲面とが接触する点を基準点として、前記評価点と前記基準点との間の距離である距離Ｌが前記距離Ｌに対する許容範囲を示す前記許容寸法公差以内であるか否かを判断し、前記距離Ｌが前記許容寸法公差から外れている場合に、前記距離Ｌが前記許容寸法公差以内となるように前記工具経路を修正した後の加工プログラムに基づいて行われた加工結果の加工精度である
ことを特徴とする機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、数値制御加工プログラムを変換する加工プログラム変換装置、数値制御装置、加工プログラム変換方法および機械学習装置に関する。
【背景技術】
【０００２】
数値制御装置により加工対象物を加工するためには、加工対象物または数値制御装置により制御される工作機械（以下、単に「数値制御工作機械」と称する）に装着された工具を、予め設定された経路に移動させるための移動指令が記述された数値制御加工プログラム（以下、単に「加工プログラム」と称する）が用いられる。加工プログラムは、例えば、市販のＣＡＤ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）／ＣＡＭ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）システムによって作成され、Ｇコード及びマクロ文など文字列の所定のフォーマットで記述される。【０００３】
従来、自由曲面を有する形状の加工を行う際には、ＣＡＤ／ＣＡＭシステムを利用して加工対象の曲面（以下、単に「加工曲面」と称する）に接するようにして仮想的に工具を移動させた理想的な経路を、加工プログラムで点列化して指令点を生成し、各指令点を結んだ微小線分によって近似した経路を作成した後、数値制御工作機械によってその工具経路に沿って工具を移動させて加工対象物を切削加工することが行われている。【０００４】
ＣＡＤ／ＣＡＭシステムから出力される工具経路は、数値制御装置が解釈できるＧコードの移動指令として加工プログラムに記述され、加工プログラムは数値制御工作機械が有する数値制御装置に入力される。数値制御装置は、加工プログラムを読み取り解釈することによって、移動指令から補間周期ごとに工具経路を補間した補間データを作成する。数値制御装置は、作成した補間データによって数値制御工作機械の各軸を制御し、工具を所望の位置に移動させることにより、加工対象物を加工する。【０００５】
上述の手順により生成された工具経路を用いて加工を行う場合、微小線分によって表現された直線上を補間することにより加工されるため、加工品質が低下してしまう。このような場合に、工具経路から近似的に曲線経路を生成し、生成した曲線経路を補間して加工することが行われている。これにより、滑らかな加工結果を得ることが期待できる。【０００６】
例えば、特許文献１には、工具経路上に等間隔で複数の目標点を設定し、複数の目標点に基づいて近似曲線を演算し、近似曲線に沿った工具経路を生成することを特徴とした工具経路の生成方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−９６０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の工具経路の生成方法および工具経路の生成装置では、微小線分がつくる工具経路から近似的に曲線経路を生成するため、生成した曲線経路が所望の加工曲面と一致する保証がなく、加工結果が所望の加工曲面の形状とかけ離れてしまうという課題があった。また、所望の加工精度を得られなかったために追加加工が必要となり、ＣＡＤ／ＣＡＭシステムに戻って工具経路を作成し直し、再度加工プログラムを出力する工程等が発生し、作業者の作業効率が低下するという課題があった。【０００９】
本開示は、上述のような問題を解決するためになされたもので、加工対象物の加工結果の加工精度を向上させることができる加工プログラム変換装置および数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本開示にかかる加工プログラム変換装置は、工具に対する移動指令が記述された加工プログラムから求めた工具経路に基づき、移動指令に従い工具経路上に設けられた複数の指令点の間に曲線経路を生成する曲線経路生成部と、曲線経路に従って動作する工具が、加工対象物の仕上がり形状である加工曲面に沿って動作するか否かを判断するために曲線経路上に設けた点を評価点とし、工具と加工曲面が接触する点を基準点とした場合に、評価点と基準点との距離である距離Ｌに対する許容範囲の値が入力される許容寸法公差入力部と、距離Ｌが、許容寸法公差入力部に入力された、許容範囲の値以内か否かを判断する曲線経路評価部と、距離Ｌが許容範囲から外れている場合に、許容範囲から外れている評価点のみを、距離Ｌが許容範囲以内となる位置に移動させ、移動後の評価点を新たな指令点とし、工具経路を修正する工具経路修正部とを備える。【００１１】
また、本開示に係る数値制御装置は、工具に対する移動指令が記述された加工プログラムから求めた工具経路に基づき、移動指令に従い工具経路上に設けられた複数の指令点の間に曲線経路を生成する曲線経路生成部と、曲線経路に従って動作する工具が、加工対象物の仕上がり形状である加工曲面に沿って動作するかを判断するために曲線経路上に設けた点を評価点とし、工具と前記加工曲面が接触する点を基準点とした場合に、評価点と基準点との距離である距離Ｌに対する許容範囲の値が入力される許容寸法公差入力部と、距離Ｌが、許容寸法公差入力部に入力された、許容範囲の値以内か否かを判断する曲線経路評価部と、距離Ｌが前記許容範囲から外れている場合に、許容範囲から外れている評価点のみを、距離Ｌが前記許容範囲以内となる位置に移動させ、移動後の評価点を新たな指令点とし、工具経路を修正する工具経路修正部とを備える。
【発明の効果】
【００１２】
本開示に係る加工プログラム変換装置によれば、曲線経路上の評価点と、加工曲面上に設けた基準点との距離が許容範囲以下となるように工具経路を修正することで、加工対象物の加工結果の加工精度を向上させることができる。
また、本開示に係る数値制御装置によれば、修正された工具経路に従って数値制御することが可能となるため、作業効率を向上できる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１及び実施の形態２に係る加工プログラム変換装置の構成を示した図である。
【図２】実施の形態１に係る加工プログラム変換装置の動作のフローチャートである。
【図３】実施の形態１に係る加工プログラム変換装置が加工プログラムから読み取った工具経路の一例を示した図である。
【図４】実施の形態１に係る加工プログラム変換装置が加工プログラムから読み取った工具経路に従って生成された曲線経路の一例を示した図である。
【図５】実施の形態１から３において、工具経路上を通過する工具の一例を示した図である。
【図６】実施の形態１に係る加工プログラム変換装置において、工具経路で加工される仕上がり形状の一例を示した図である。
【図７】実施の形態１に係る加工プログラム変換装置において、曲線経路と仕上り形状とが対応するように配置した状態を断面方向から示した図である。
【図８】実施の形態１に係る加工プログラム変換装置において、ボールエンドミル工具である場合を例に、工具と加工曲面が離れている状態にある様子を示した図である。
【図９】実施の形態１に係る加工プログラム変換装置において、ボールエンドミル工具である場合を例に、工具と加工曲面が接している状態にある様子を示した図である。
【図１０】実施の形態１に係る加工プログラム変換装置において、ボールエンドミル工具である場合を例に、工具と加工曲面が干渉している状態にある様子を示した図である。
【図１１】実施の形態１に係る加工プログラム変換装置において、フラットエンドミル工具である場合を例に、工具と加工曲面が離れている状態にある様子を示した図である。
【図１２】実施の形態１に係る加工プログラム変換装置において、フラットエンドミル工具である場合を例に、工具と加工曲面が接している状態にある様子を示した図である。
【図１３】実施の形態１に係る加工プログラム変換装置において、フラットエンドミル工具である場合を例に、工具と加工曲面が干渉している状態にある様子を示した図である。
【図１４】実施の形態１に係る加工プログラム変換装置において、ラジアスエンドミル工具である場合を例に、工具と加工曲面が離れている状態にある様子を示した図である。
【図１５】実施の形態１に係る加工プログラム変換装置において、ラジアスエンドミル工具である場合を例に、工具と加工曲面が接している状態にある様子を示した図である。
【図１６】実施の形態１に係る加工プログラム変換装置において、ラジアスエンドミル工具である場合を例に、工具と加工曲面が干渉している状態にある様子を示した図である。
【図１７】実施の形態１に係る加工プログラム変換装置において、工具と加工曲面とが接するように評価点を移動させ、新たな指令点を追加する様子の一例を示した図である。
【図１８】実施の形態１に係る加工プログラム変換装置において、新たな指令点を追加することにより修正した工具経路を示した図である。
【図１９】実施の形態２に係る加工プログラム変換装置の動作のフローチャートである。
【図２０】実施の形態２に係る加工プログラム変換装置が加工プログラムから読み取った工具経路の一例を示した図である。
【図２１】実施の形態２に係る加工プログラム変換装置において、隣接した３点の指令点から真ん中の点を除外した後の２点を通過する曲線経路の一例を示した図である。
【図２２】実施の形態２に係る加工プログラム変換装置において、工具経路で加工される仕上がり形状の一例を示した図である。
【図２３】実施の形態２に係る加工プログラム変換装置において、曲線経路と仕上り形状とが対応するように配置した状態を断面方向から示した図である。
【図２４】実施の形態２に係る加工プログラム変換装置において、ボールエンドミル工具である場合を例に、工具と加工曲面が離れている状態にある様子を示した図である。
【図２５】実施の形態２に係る加工プログラム変換装置において、ボールエンドミル工具である場合を例に、工具と加工曲面が接している状態にある様子を示した図である。
【図２６】実施の形態２に係る加工プログラム変換装置において、ボールエンドミル工具である場合を例に、工具と加工曲面が干渉している状態にある様子を示した図である。
【図２７】実施の形態２に係る加工プログラム変換装置において、工具経路から指令点を削除して工具経路を修正した一例を示した図である。
【図２８】実施の形態３に係る数値制御装置の構成を示した図である。
【図２９】実施の形態３に係る数値制御装置の動作のフローチャートである。
【図３０】実施の形態４に係る機械学習装置の構成例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、本開示の実施の形態に係る加工プログラム変換装置、数値制御装置、加工プログラム変換方法および機械学習装置を図面に基づいて説明する。なお、この実施の形態に限定されるものではない。
【００１５】
実施の形態１．
図１は、実施の形態１に係る加工プログラム変換装置の構成例を示す図である。加工プログラム変換装置１００は、外部から入力される加工プログラムを受け取る加工プログラム入力部１０１と、入力された加工プログラムを解析し、工具経路を求める加工プログラム解析部１０２と、加工プログラム解析部１０２で求めた工具経路が記憶される工具経路記憶部１０３と、工具経路記憶部１０３に記憶された工具経路に従って曲線経路を生成する曲線経路生成部１０４と、工具のデータを入力する工具データ入力部１０５と、加工対象物の加工後の形状データを入力する形状データ入力部１０６と、工具が加工対象物の加工曲面に沿って動作するかを判断するため曲線経路上に設けた点と加工曲面との距離の許容範囲を入力する許容寸法公差入力部１０７と、曲線経路上に設けた点と加工曲面との距離が許容範囲内か否かを判断する曲線経路評価部１０８と、工具経路を修正する工具経路修正部１０９と、変換後加工プログラム出力部１１０と、を備える。変換後加工プログラム出力部１１０は、所定の変換方法に従って、工具経路を修正した後の加工プログラムを変換し、外部装置である数値制御装置１１１に出力される。なお、本実施の形態においては外部装置が数値制御装置である場合について説明するが、外部装置は数値制御装置に限定されず、例えばプログラム確認装置や、工具経路表示装置等であってもよい。
【００１６】
図２は、実施の形態１に係る加工プログラム変換装置１００の動作例を示すフローチャートである。図２に基づき、加工プログラム変換装置１００が工具経路を生成または修正する動作の手順について説明する。
【００１７】
加工プログラム変換装置１００が工具経路を生成する動作においては、まず、加工プログラムが加工プログラム変換装置１００に入力される（ステップＳ１０１）。すなわち、加工プログラム変換装置１００において、加工プログラム入力部１０１が工作機械を制御するための加工プログラムを外部から読み込む。加工プログラムには、加工対象物である被加工物または工具を、予め設定された経路に移動させるための移動指令が記述されている。
【００１８】
ステップＳ１０１で実行する加工プログラムの入力は、ＣＡＤ／ＣＡＭシステムにより出力された、例えばＧコードのフォーマット記述されたファイルを読込むことにより実現される。または、作業者がキーボードなどの入力機器を操作することにより必要な情報を入力して加工プログラムを作成することにより実現される。
【００１９】
加工プログラム変換装置１００は、次に、ステップＳ１０１を実行して取得した加工プログラムを加工プログラム解析部１０２で解析し、加工プログラムに記述された工具経路を求める（ステップＳ１０２）。具体的には、Ｇコード等で記述された加工プログラムの読み取り、つまり工具経路情報の読み取りを行う。読み取った工具経路は、工具経路記憶部１０３に記憶される（ステップＳ１０３）。図３は、加工プログラムから変換する工具経路の一例である。図３において、工具経路は、指令点Ｐ１〜Ｐ６を有し、各指令点間を直線で結んだものである。ここで、指令点とは、加工プログラムで指令される点をいう。各指令点間の間隔は、加工プログラムで予め決められている。
【００２０】
次に、曲線経路生成部１０４において、工具経路記憶部１０３に記憶された工具経路に従って、各々の隣接した指令点の間に曲線経路を生成する（ステップＳ１０４）。図４は、指令点Ｐ１〜Ｐ６を有する工具経路に従って生成された曲線経路の一例を示す。図４に示した曲線経路は、各指令点の間を曲線経路ＴＰ１〜ＴＰ６に沿って工具が通過するように生成したものである。
【００２１】
また、加工プログラム変換装置１００が生成する曲線経路は、数値制御装置１１１が動く曲線、つまり、数値制御装置１１１が加工する加工対象物の形状を作れるような曲線と同じ曲線である必要がある。よって、曲線経路の生成方法は、加工プログラム変換装置１００に入力された加工プログラムが最終的に入力される数値制御装置１１１における曲線経路の生成方法と同一であることが望ましい。曲線経路を生成する方法の他の例としては、例えば各々の指令点を通過するようにスプライン曲線を補間する方法などがある。
【００２２】
工具データ入力部１０５には、工具データが外部入力される（ステップＳ１０５）。工具データは、加工対象物を加工するための工具の形状を定義する情報であり、工具の種別を表現する情報、工具径、工具刃先半径および工具長といった工具の形状を表現する情報を含む。また、テーパ等を有する工具形状の場合、工具データ入力部１０５には、工具の中心軸に対する工具外径母線の傾きの情報などが与えられても良いし、旋削工具等の非対称な形状である工具の情報が与えられてもよい。外部入力は、作業者によるキーボードなどの入力操作、ＣＡＤデータからのデータ変換などの方法による。加工プログラム変換装置１００は、工具データに基づいて工具モデルを生成することが可能である。図５は、工具経路上を通過する工具の一例を示す。工具Ｔ１０は、工具データに基づき生成されたボールエンドミルの形状である。
【００２３】
形状データ入力部１０６には、形状データが外部入力される（ステップＳ１０５）。形状データは、加工対象物の加工後の形状を定義する情報であり、加工対象物の目標の形状である仕上り形状を生成できる情報である。仕上り形状は、加工すべき曲面である加工曲面Ｓ１を有する。また、仕上り形状は、加工プログラムに従って工作機械が加工対象物を加工することにより、結果として加工される加工物の理想的な形状である。工作機械は、仕上り形状と加工物との誤差が少なくなるように加工対象物を加工する。外部入力は、作業者によるキーボードなどの入力操作、ＣＡＤデータからのデータ変換などの方法による。
【００２４】
図６は、工具経路で加工される仕上がり形状の一例である。図６に示した仕上り形状Ｍ１は、形状データ入力部１０６に入力された形状データに基づいて生成されるもので、加工曲面Ｓ１を有する。
【００２５】
図７は、曲線経路と仕上り形状Ｍ１とが対応するように配置した状態を断面方向から示し、さらに一例として、曲線経路ＴＰ３上に評価点Ｑ１〜Ｑ５を設定した図である。ここで、評価点は、曲線経路に従って動作する工具が、加工対象物の加工曲面に沿って動作するか否かを判断するために曲線経路上に設けた点をいう。評価点の求め方は、例えば曲線経路上を曲線パラメータが等間隔となるようにサンプリングした点として求める方法や、隣接する評価点を結んだ線分と曲線経路の間の最大誤差が所定の値以下となるまで繰り返し処理によって求める方法がある。
【００２６】
図８、図９、図１０は、工具がボールエンドミル工具（以下、工具Ｔ１０とする。）である場合における、工具Ｔ１０と加工曲面Ｓ１の関係を示す図である。図８は、加工曲面Ｓ１と工具Ｔ１０が離れている状態にある様子を示している。図８において、工具Ｔ１０と加工曲面Ｓ１の距離が最短となる加工曲面Ｓ１上の点を、基準点Ｃ１とする。基準点Ｃ１は、後述するステップＳ１０６において工具上に配置した評価点Ｑと加工曲面Ｓ１の距離が最短となる、加工曲面Ｓ１上の点でもある。ここで、評価点Ｑと基準点Ｃ１の距離を距離Ｌ１とする。
【００２７】
図９は、加工曲面Ｓ１と工具Ｔ１０が接している状態にある様子を示している。図９において、工具Ｔ１０と加工曲面Ｓ１が接触する点を基準点Ｃ２とする。基準点Ｃ２は工具Ｔ１０が加工曲面Ｓ１を切削するときの切削点でもある。評価点Ｑと基準点Ｃ２の距離を距離Ｌ２とすると、距離Ｌ２は工作機械で加工対象物を加工する上で、最も理想的な値である。
【００２８】
図１０は、工具Ｔ１０が加工曲面Ｓ１に干渉する状態にある様子を示している。図１０において、工具Ｔ１０の評価点Ｑと加工曲面Ｓ１との距離が最短となる、加工曲面Ｓ１上の点を基準点Ｃ３とする。また、このような工具と加工曲面が干渉する状態の場合、工具と加工曲面とが接触する状態となるまで工具をオフセットし、オフセット工具と加工曲面が接触した点を基準点Ｃ３として求めることもできる。基準点Ｃ３は、図１０において点線で示した工具Ｔ１０オフセットと加工曲面Ｓ１とが接触している点であるともいえる。ここで、評価点Ｑと基準点Ｃ３の距離を距離Ｌ３とする。
【００２９】
ここで、距離Ｌに対する許容範囲について、距離Ｌ２を２．００ｍｍと仮定した場合について説明する。ある加工対象物の加工曲面の寸法公差が、標準公差に対して±０．０５ｍｍであったとすれば、距離Ｌ１については２．００ｍｍ＜距離Ｌ１≦２．０５ｍｍ、距離Ｌ３については１．９５ｍｍ≦距離Ｌ３＜２．００ｍｍとなる。よって、距離Ｌの許容範囲は、１．９５ｍｍ≦距離Ｌ≦２．０５ｍｍとなる。
【００３０】
なお、図８、図９、図１０において、工具Ｔ１０の評価点Ｑを、工具Ｔ１０の中心軸かつ先端付近に設けているが、評価点Ｑは、例えば工具の先端に設けられても良いし、工具Ｔ１０上の加工対象物を切削する部分または点に設けられてもよいし、工具Ｔ１０と加工曲面Ｓ１の距離が最短となるような工具Ｔ１０上の点に設けられても良い。ただし、工具上の特定の位置を評価点Ｑとして設定した後、設定した評価点Ｑで距離Ｌを評価する。
【００３１】
許容寸法公差入力部１０７では、距離Ｌに対する許容範囲が入力される（ステップＳ１０５）。許容範囲の値は、加工対象物のそれぞれが目標とする加工精度によって決まる。また、形状データ入力部１０６において入力される形状データが、加工対象物の加工曲面に対する加工公差の情報を有する場合は、加工公差に従って許容範囲の値を求めても良い。この場合、加工部位に応じて許容範囲を自動で設定することができ、作業効率が向上する。なお、距離Ｌに対する許容範囲は許容寸法公差ともいうことができる。
【００３２】
さらに、許容寸法公差入力部１０７に入力される許容範囲の値は、工具と仕上り形状の間の最短距離の許容範囲であってもよい。例えば、ある加工対象物の加工曲面の寸法公差が標準公差に対して±０．０５ｍｍであったとすれば、工具と仕上り形状の加工曲面との最短距離の差が０．０５ｍｍ以内となればよいため、許容範囲の値は、０．０５ｍｍとして与える。
【００３３】
なお、本実施の形態において、距離Ｌに対する許容範囲は許容寸法公差入力部１０７に入力されるが、距離Ｌに対する許容範囲の値は、あらかじめ図示しない加工プログラム変換装置１００の許容寸法公差記憶部に記憶されてもよい。
【００３４】
図１１、図１２、図１３は、工具がフラットエンドミル工具（以下、工具Ｔ１１とする。）である場合における、工具Ｔ１１と加工曲面Ｓ２の関係を示す図である。図１１は、加工曲面Ｓ２と工具Ｔ１１が離れている状態にある様子を示している。図１１において、工具Ｔ１１と加工曲面Ｓ２の距離が最短となる加工曲面Ｓ２上の点を、基準点Ｃ２とする。評価点Ｑと基準点Ｃ１１の距離を距離Ｌ１１とする。
【００３５】
図１２は、加工曲面Ｓ２と工具Ｔ１１が接している状態にある様子を示している。図１２において、工具Ｔ１１と加工曲面Ｓ２が接する点を基準点Ｃ１２とする。評価点Ｑと基準点Ｃ１２の距離を距離Ｌ１２とすると、距離Ｌ１２は工作機械で加工対象物を加工する上で、最も理想的な値である。
【００３６】
図１３は、工具Ｔ１１が加工曲面Ｓ２に干渉する状態にある様子を示している。図１３において、工具Ｔ１１の評価点Ｑと加工曲面Ｓ２との距離が最短となる、加工曲面Ｓ２上の点を基準点Ｃ１３とする。また、このような工具と加工曲面が干渉する状態の場合、工具と加工曲面とが接触する状態となるまで工具を内側へオフセットすることがある。基準点Ｃ１３は、図１３において点線で示した工具Ｔ１１オフセットと加工曲面Ｓ２とが接触している点であるともいえる。評価点Ｑと基準点Ｃ１３の距離を距離Ｌ１３とする。
【００３７】
なお、図１１、図１２、図１３において、工具Ｔ１１の評価点Ｑを、工具Ｔ１１の先端の中心に設けているが、評価点Ｑは、例えば工具Ｔ１１上の加工対象物を切削する部分または点に設けられてもよいし、工具Ｔ１１と加工曲面Ｓ２の距離が最短となるような工具Ｔ１１上の点に設けられても良い。ただし、工具上の特定の位置を評価点Ｑとして設定した後は、設定した評価点Ｑで距離Ｌを評価する。
【００３８】
図１４、図１５、図１６は、工具がラジアスエンドミル工具（以下、工具Ｔ１２とする。）である場合における、工具Ｔ１２と加工曲面Ｓ３の関係を示す図である。図１４は、加工曲面Ｓ３と工具Ｔ１２が離れている状態にある様子を示している。図１４において、工具Ｔ１２と加工曲面Ｓ３の距離が最短となる加工曲面Ｓ３上の点を、基準点Ｃ２１とする。評価点Ｑと基準点Ｃ２１の距離を距離Ｌ２１とする。
【００３９】
図１５は、加工曲面Ｓ３と工具Ｔ１２が接している状態にある様子を示している。図１５において、工具Ｔ１２と加工曲面Ｓ３が接する点を基準点Ｃ２２とする。評価点Ｑと基準点Ｃ２２の距離を距離Ｌ２２とすると、距離Ｌ２２は工作機械で加工対象物を加工する上で、最も理想的な値である。
【００４０】
図１６は、工具Ｔ１２が加工曲面Ｓ３に干渉する状態にある様子を示している。図１６において、工具Ｔ１２の評価点Ｑと加工曲面Ｓ３との距離が最短となる、加工曲面Ｓ３上の点を基準点Ｃ２３とする。また、このような工具と加工曲面が干渉する状態の場合、工具と加工曲面とが接触する状態となるまで工具を内側へオフセットすることがある。基準点Ｃ２３は、図１６において点線で示した工具Ｔ１２オフセットと加工曲面Ｓ３とが接触している点であるともいえる。評価点Ｑと基準点Ｃ２３の距離を距離Ｌ２３とする。
【００４１】
なお、図１４、図１５、図１６において、工具Ｔ１２の評価点Ｑを、工具Ｔ１２の中心軸かつ先端付近に設けているが、評価点Ｑは、例えば、工具Ｔ１２上の加工対象物を切削する部分または点に設けられてもよいし、工具Ｔ１２と加工曲面Ｓ３の距離が最短となるような工具Ｔ１０上の点に設けられても良い。ただし、工具上の特定の位置を評価点Ｑとして設定した後は、設定した評価点Ｑで距離Ｌを評価する。
【００４２】
次に、曲線経路評価部１０８において、曲線経路生成部１０４において生成された曲線経路ＴＰを、工具データ、形状データ、許容寸法公差入力部に入力される許容範囲の値に従って評価する（ステップＳ１０６）。まず、曲線経路ＴＰ１〜ＴＰ６上に複数の評価点を求める。続いて、図８〜図１６に示すように、求めた評価点Ｑに対応するように、ステップ５で入力した工具データに基づいて生成された工具を配置する。このとき、評価点Ｑに工具を配置すると、理想的には工具と仕上り形状の加工曲面が接する。
【００４３】
曲線経路評価部１０８は、曲線経路ＴＰについて、距離Ｌの値が許容範囲内か否かを評価する。ある曲線経路ＴＰにおいて求めた距離Ｌが、距離Ｌに対する許容範囲より大きい場合、当該曲線経路ＴＰを修正対象の曲線経路として後述するステップＳ１０７へ進む。すべての曲線経路ＴＰにおいて求めた距離Ｌが距離Ｌに対する許容範囲以内であった場合には後述するステップＳ１０８へ進む。
【００４４】
曲線経路評価部１０８において、距離Ｌの値が距離Ｌに対する許容範囲を超えた場合、すなわち、ステップＳ１０６において「ＮＯ」の場合、工具経路を修正する（ステップＳ１０７）。ここで、工具経路を修正するための動作について、ボールエンドミルである工具Ｔ１０が、図１０に示すような工具Ｔ１０と加工曲面Ｓ１とが干渉する状態の場合を例に、図１７を用いて説明する。
【００４５】
図１７は、工具Ｔ１０と加工曲面Ｓ１とが接するように評価点を移動させ、新たな指令点を追加する様子の一例を示した図である。まず、工具経路修正部１０９において、ステップＳ１０６で得られた修正対象の曲線経路ＴＰ上の評価点Ｑのうち、距離Ｌに対する許容範囲から最も大きく外れている評価点Ｑを抽出する。図１７においては、曲線経路ＴＰ３が修正対象の曲線経路であり、曲線経路ＴＰ３上の評価点Ｑ３が、距離Ｌ３に対する許容範囲から最も大きく外れている評価点であるとする。
【００４６】
次に、工具Ｔ１０と加工曲面Ｓ１とが接する状態になるように、評価点Ｑ３を移動させる。このとき、移動後の評価点を新たな指令点Ｒ１とする。このとき、評価点Ｑ３を移動させる方向としては、工具軸方向や、評価点Ｑ３に工具を配置したときの加工曲面上における基準点における加工曲面の法線方向、または、任意の方向に移動してもよい。
【００４７】
また、工具Ｔ１０と加工曲面Ｓ１が接する状態になるように評価点Ｑ３を移動させる方法は、与えられた移動方向に微小距離だけ動かして移動後の移動評価点Ｑにおける距離Ｌ３を計算することを、距離Ｌ３に対する許容範囲以下となるまで繰り返すことにより求めることができる。
【００４８】
さらに、工具経路修正部１０９では、ステップＳ１０３で工具経路記憶部１０３に記憶した工具経路に対して、距離Ｌ３が、距離Ｌ３に対する許容範囲以下となった、移動後の評価点Ｑ３を新たな指令点Ｒ１として工具経路に追加し、工具経路を修正する。これにより、加工対象物の加工結果の精度が向上する。
【００４９】
修正後の工具経路は、工具経路記憶部１０３に記憶する。図１８は、指令点Ｐ１〜Ｐ６について、ステップＳ１０７において新たな指令点Ｒ１を追加することにより修正した工具経路を示す図である。ステップＳ１０７の実行後は、ステップＳ１０４に戻り、処理を繰り返す。この場合、ステップＳ１０５の処理は省略しても良い。
【００５０】
ステップＳ１０６の処理において、すべての評価点Ｑにおける距離Ｌ３が距離Ｌ３に対する許容範囲以下となり、工具経路の修正が完了した場合、修正後の工具経路が工具経路記憶部１０３に記憶される。次に、変換後加工プログラム出力部１１０において、工具経路記憶部１０３に記憶された工具経路に従って、所定の変換方法に従って工具経路から修正後の加工プログラムを生成し、修正後の加工プログラムを変換後に加工プログラム変換装置１００の外部へ出力する（ステップＳ１０８）。
【００５１】
ステップＳ１０８の実行後は処理を終了し、出力された変換後の加工プログラムは数値制御装置１１１に入力され、加工対象物の加工が行われる。なお、ステップＳ１０６からステップＳ１０８においては、ボールエンドミルである工具Ｔ１０と加工曲面Ｓ１が干渉する場合について説明したが、その他の場合についても同様である。
【００５２】
以上より、実施の形態１に係る加工プログラム変換装置によれば、評価点と基準点の距離Ｌが、距離Ｌに対する許容範囲以下となるように工具経路を修正するため、加工対象物の加工結果の加工精度を向上させることができる。
【００５３】
さらに、距離Ｌが、距離Ｌに対する許容範囲を超えた評価点のみ移動させ、新たな指令点を追加するため、追加される指令点は必要な数に抑えることができ、プログラムのデータ量が必要以上に増えて処理が遅くなることを回避することができる。
【００５４】
実施の形態２．
実施の形態２に係る加工プログラム変換装置１００の構成は、本実施の形態１に係る加工プログラム変換装置１００の構成と同様であるため、説明を省略する。実施の形態２に係る加工プログラム変換装置１００は、図１９に示すフローチャートに従って動作する。
【００５５】
ステップＳ２０１からステップＳ２０３における動作は、実施の形態１におけるステップＳ１０１からステップＳ１０３までの動作と同様である。実施の形態２においては、曲線経路の生成方法が、本実施の形態１と相違する。
【００５６】
図２０は、加工プログラム変換装置が加工プログラムから読み取った工具経路の一例を示した図である。図２０に示した工具経路は、指令点Ｐ１１〜Ｐ１７を有し、各指令点間を直線で結んだものである。本実施の形態２のステップＳ２０４においては、隣接した３点の指令点である第１、第２、第３の指令点から、両端の第１および第３の指令点の間を通過する曲線経路を生成する。図２１は、一例として、第１の指令点である指令点Ｐ１３、第２に指令点であるＰ１４、第３の指令点であるＰ１５のうち、Ｐ１３とＰ１５の間に曲線経路ＴＰ１１を生成した様子を示している。次に、工具データ入力部１０５に工具データが外部入力され、形状データ入力部１０６に形状データが外部入力される（ステップＳ２０５）。
【００５７】
曲線経路評価部１０８において、曲線経路ＴＰ１１に複数点設定した評価点における、それぞれの距離Ｌを、工具データ、形状データ、許容寸法公差入力部に入力される許容範囲の値に従って評価する（ステップＳ２０６）。つまり、距離Ｌが、距離Ｌに対する許容範囲以下か許容範囲より大きいかを評価する。ここで、全ての距離Ｌが、距離Ｌに対する許容範囲以下であった場合、工具経路記憶部１０３に記憶されている工具経路から、指令点Ｐ１４を削除する（ステップＳ２０７）。さらに、この場合は修正対象の曲線経路がないため、曲線経路ＴＰ１１は最終的に変換されて出力される工具経路となる（ステップＳ２０８）。
【００５８】
図２２は、工具経路で加工される仕上がり形状の一例である。図２２に示した仕上り形状Ｍ２は、形状データ入力部１０６に入力された形状データに基づいて生成されるもので、加工曲面Ｓ４を有する。
【００５９】
ステップＳ２０６を図２３、図２４、図２５を用いて具体的に説明する。図２３は、曲線経路と仕上り形状Ｍ２とが対応するように配置した状態を断面方向から示し、さらに一例として、曲線経路ＴＰ１１上に評価点Ｑ１１〜Ｑ１４を設定した図である。図２４は、工具がボールエンドミル工具である場合に、加工曲面Ｓ４と工具Ｔ１０が接している状態にある様子を示している。図２４において、工具Ｔ１０と加工曲面Ｓ４が接する点を基準点Ｃ３１とする。図２４においては、曲線経路ＴＰ１１上の評価点Ｑ１２に工具を配置し、評価点Ｑ１２と基準点Ｃ３１の距離Ｌ３２とする。
【００６０】
図２４、図２５、図２６は、工具がボールエンドミル工具（以下、工具Ｔ１０とする。）である場合における、工具Ｔ１０と加工曲面Ｓ４の関係を示す図である。工具ＴＰ１０は、曲線経路ＴＰ１１上の評価点Ｑ１２に配置する。図２４は、加工曲面Ｓ４と工具Ｔ１０が離れている状態にある様子を示している。図２４において、工具Ｔ１０と加工曲面Ｓ４の距離が最短となる加工曲面Ｓ４上の点を、基準点Ｃ３１とする。ここで、評価点Ｑ１２と基準点Ｃ３１の距離を距離Ｌ３１とする。
【００６１】
図２５は、加工曲面Ｓ４と工具Ｔ１０が接している状態にある様子を示している。図２５において、工具Ｔ１０と加工曲面Ｓ４が接する点を基準点Ｃ３２とする。評価点Ｑ１２と基準点Ｃ３２の距離を距離Ｌ３２とすると、距離Ｌ３２は工作機械で加工対象物を加工する上で、最も理想的な値である。
【００６２】
図２６は、工具Ｔ１０が加工曲面Ｓ４に干渉する状態にある様子を示している。図２６において、工具Ｔ１０の評価点Ｑ１２と加工曲面Ｓ４との距離が最短となる、加工曲面Ｓ４上の点を基準点Ｃ３１とする。また、このような工具と加工曲面が干渉する状態の場合、工具と加工曲面とが接触する状態となるまで工具をオフセットすることがある。基準点Ｃ３１は、図２６において点線で示した工具Ｔ１０オフセットと加工曲面Ｓ４とが接触している点であるともいえる。ここで、評価点Ｑ１２と基準点Ｃ３３の距離を距離Ｌ３３とする。
【００６３】
曲線経路評価部１０８において、全ての距離Ｌ（距離Ｌ３１〜距離Ｌ３３）が、距離Ｌに対する許容範囲以下であった場合、工具経路記憶部１０３に記憶されている工具経路から、第２の指令点である指令点Ｐ１４を削除する（ステップＳ２０７）。さらに、この場合は修正対象の曲線経路がないため、曲線経路ＴＰ１１は最終的に変換されて出力される工具経路となる（ステップＳ２０８）。図２７は、本実施の形態２において工具経路を修正した最終形態の一例である。
【００６４】
曲線経路評価部１０８において、曲線経路ＴＰ１１に複数点設定した評価点Ｑにおける、それぞれの距離Ｌのうち、１点でも距離Ｌに対する許容範囲より大きい距離になる評価点がある場合、指令点Ｐ１４は削除せず、指令点Ｐ１３とＰ１４の間の曲線経路、Ｐ１４とＰ１５の間の曲線経路を生成する（ステップＳ２０９）。
【００６５】
次に、実施の形態１のステップＳ１０６から１０８までの流れと同様に、曲線経路評価部１０８において、曲線経路生成部１０４において生成された各曲線経路を、工具データ、形状データ、許容寸法公差入力部に入力される許容範囲の値に従って距離Ｌの値が許容範囲内か否かを評価する（ステップＳ２１０）。曲線経路評価部１０８において、距離Ｌの値が距離Ｌに対する許容範囲を超えた場合、すなわち、ステップＳ２１０において「ＮＯ」の場合、工具経路を修正する（ステップＳ２１１）。ここで、工具経路を修正するための動作は、実施の形態１と同様である。
【００６６】
ステップＳ２１０の処理において、すべての評価点Ｑにおける距離Ｌが距離Ｌに対する許容範囲以下となり、工具経路の修正が完了した場合、修正後の工具経路が工具経路記憶部１０３に記憶される。次に、変換後加工プログラム出力部１１０において、工具経路記憶部１０３に記憶された工具経路に従って、所定の変換方法に従って工具経路から修正後の加工プログラムを生成し、修正後の加工プログラムを変換後に加工プログラム変換装置１００の外部へ出力する（ステップＳ２０８）。
【００６７】
以上より、実施の形態２に係る加工プログラム変換装置によれば、隣接した３点の指令点のうち、両端の２点を通過する曲線経路上に設けた評価点と基準点の距離Ｌが、距離Ｌに対する許容範囲以下となることを満たした場合は、工具経路から既存の真ん中の指令点を削除するため、加工プログラムのデータ量を削減することができ、作業効率が向上する。さらに、加工対象物の加工結果の加工精度が所望の精度を満たすこともできる。
【００６８】
実施の形態３．
以下に、実施の形態３に係る数値制御装置を図面に基づいて説明する。なお、この実施の形態により、限定されるわけではない。
【００６９】
数値制御装置２００は、外部から入力される加工プログラムを受け取る加工プログラム入力部２０１と、入力された加工プログラムを解析し、工具経路を求める加工プログラム解析部２０２と、加工プログラム解析部２０２で求めた工具経路が記憶される工具経路記憶部２０３と、工具経路記憶部２０３に記憶された工具経路に従って曲線経路を生成する曲線経路生成部２０４と、工具のデータを入力する工具データ入力部２０５と、加工対象物の加工後の形状データを入力する形状データ入力部２０６と、工具が加工対象物の加工曲面に沿って動作するかを判断するため曲線経路上に設けた点と加工曲面との距離の許容範囲を入力する許容寸法公差入力部２０７と、曲線経路上に設けた点と加工曲面との距離が許容範囲内か否かを判断する曲線経路評価部２０８と、工具経路を修正する工具経路修正部２０９と、曲線経路補間部２１０とを備える。本実施の形態に係る数値制御装置２００は、外部から囲うプログラムが入力されると、加工プログラムを解析して工具経路を生成し、モータ駆動部２１１へ出力する動作を実行する。
【００７０】
図２８に示した実施の形態３に係る数値制御装置２００が工具経路を生成する手順について説明する。図２９は、実施の形態３に係る数値制御装置２００の動作例を示すフローチャートである。図２９のフローチャートは、数値制御装置２００が工具経路を生成する動作の手順を示している。図２９において、ステップＳ３０１からステップＳ３０７までの手順は、実施の形態１におけるステップＳ１０１からステップＳ１０７までの動作の手順と同様である。
【００７１】
ステップＳ３０６において、曲線経路生成部２０４は、評価点Ｑにおける距離Ｌが、距離Ｌに対する許容範囲以下となった場合、生成した曲線経路を曲線経路補間部２１０に渡す。
【００７２】
数値制御装置２００は、次に、曲線経路補間部２１０において、曲線経路を補間する（ステップＳ３０８）。具体的には、曲線経路補間部２１０が曲線経路生成部２０４から受け取った曲線経路上に、単位時間である補間周期あたりの工具の移動量を求めて補間した補間点を生成する。ステップＳ３０８で補間処理を行った後の曲線経路が、最終的な工具経路となる。曲線経路補間部２１０は、補間点の生成が終了すると、補間点を外部のモータ駆動部２１１に渡す。
【００７３】
以上のような手順で動作することにより、実施の形態３に係る数値制御装置２００は、工具経路を生成する。
【００７４】
実施の形態３に係る数値制御装置によれば、修正された工具経路に従って数値制御することが可能となるため、加工プログラムを一度変換した後、変換後の加工プログラムを出力する必要がなく、また、加工対象物の所望の加工精度を満たすことが可能となることから、手戻りが発生せず、作業効率が向上する。
【００７５】
実施の形態４．
以下に実施の形態４に係る機械学習装置を図面に基づいて詳細に説明する。なお、この実施の形態に限定されるものではない。
【００７６】
図３０は、実施の形態４に係る機械学習装置の構成例を示す図である。図３０に示した工作機械４０１は、実施の形態１の数値制御装置１１１によって制御されることにより、加工対象物を加工する。数値制御装置１１１と工作機械４０１は、数値制御工作機械を構成する。数値制御装置１１１には、実施の形態１と同様に、加工プログラム変換装置１００から出力された変換後の加工プログラムである変換後加工プログラムが入力される。
【００７７】
本実施の形態の機械学習装置４１０は、工作機械４０１による加工結果の加工精度を示す情報と、加工プログラム変換装置１００から取得した情報とを用いて、工作機械４０１による加工結果が所望の加工精度を満たす許容寸法公差を学習する。許容寸法公差は、距離Ｌに対する許容範囲である。距離Ｌは、実施の形態１で述べたように、工具経路上に設けられた複数の指令点の間に生成された曲線経路に従って動作する工具が加工対象物の仕上がり形状である加工曲面に沿って動作するか否かを判断するために曲線経路上に設けられた点を評価点とし、工具と加工曲面とが接触する点を基準点とした場合の、評価点と基準点との距離である。工作機械４０１による加工結果は、距離Ｌが許容寸法公差以内となるように工具経路を修正した後の加工プログラムに基づいて行われた加工結果である。
【００７８】
本実施の形態の加工プログラム変換装置１００は、加工対象物の仕上がり形状である加工曲面、工具に対する移動指令が記述された加工プログラムから求めた工具経路、工具データを機械学習装置４１０へ出力する。また、加工プログラム変換装置１００は、後述する機械学習により生成された学習済モデルを用いた推論により求められた許容寸法公差を、機械学習装置４１０から受け取り、受け取った許容寸法公差を入力として用いて曲線経路評価部１０８における判断が行われる。このように、本実施の形態では、加工プログラム変換装置１００は、機械学習装置４１０との間で入出力の動作を行うが、これらの動作以外は、実施の形態１の加工プログラム変換装置１００の動作と同様である。実施の形態１と同様の機能を有する構成要素は、実施の形態１と同一の符号を付して重複する説明を省略する。以下実施の形態１と異なる点を主に説明する。
【００７９】
機械学習装置４１０は、所望の加工精度を満たす許容寸法公差を機械学習する。ここで、所望の加工精度を満たす許容寸法公差を機械学習するとは、所望の加工精度を満たす許容寸法公差を推論するための学習済みモデルを作成することを意味する。機械学習装置４１０が用いる学習アルゴリズムはどのようなものを用いてもよい。一例として、強化学習（Ｒｅｉｎｆｏｒｃｅｍｅｎｔ  Ｌｅａｒｎｉｎｇ）を適用した場合について説明する。強化学習は、ある環境内におけるエージェント（行動主体）が、現在の状態を観測し、取るべき行動を決定する、というものである。強化学習では、エージェントは行動を選択することで環境から報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。例えば、Ｑ学習の場合、行動価値関数Ｑ（ｓ，ａ）の一般的な更新式（行動価値テーブル）は、下記式（１）で表される。
【００８０】
【数１】
0006808106.tif 000002
【００８１】
式（１）において、ｔは時刻ｔにおける環境を表し、ａｔは時刻ｔにおける行動を表す。行動ａｔにより、環境はｓｔ＋１に変わる。ｒｔ＋１はその環境の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。なお、γは０＜γ≦１、αは０＜α≦１の範囲とする。本実施の形態にＱ学習を適用した場合、入力される許容寸法公差が行動ａｔとなる。
【００８２】
式（１）で表される更新式は、時刻ｔ＋１における最良の行動ａの行動価値が、時刻ｔにおいて実行された行動ａの行動価値Ｑよりも大きければ、行動価値Ｑを大きくし、逆の場合は、行動価値Ｑを小さくする。換言すれば、時刻ｔにおける行動ａの行動価値Ｑを、時刻ｔ＋１における最良の行動価値に近づけるように、行動価値関数Ｑ（ｓ，ａ）を更新する。それにより、或る環境における最良の行動価値が、それ以前の環境における行動価値に  順次伝播していくようになる。
【００８３】
図３０に示すように、本実施の形態の機械学習装置４１０は、状態観測部４１１、学習部４１２および推論部４１３を備える。状態観測部４１１は、数値制御工作機械による加工の状態を示す状態変数を含むデータセットを取得するデータ取得部である。学習フェーズでは、状態観測部４１１は、データセットを学習部４１２へ出力する。状態観測部４１１は、推論フェーズでは、データセットを推論部４１３へ渡す。学習部４１２は、データセットを用いて、所望の加工精度を満たす許容寸法公差を学習することにより学習済モデルを生成し、推論部４１３へ渡す。推論部４１３は、状態変数を学習済モデルへ入力することにより、加工精度を満たす許容寸法公差を推論し、推論した許容寸法公差を加工プログラム変換装置１００へ入力する。
【００８４】
詳細には、状態観測部４１１は、状態変数として、加工対象物の仕上がり形状を示す情報を、加工プログラム変換装置１００の形状データ入力部１０６から取得する。実施の形態１で述べたように、形状データ入力部１０６には、加工対象物の目標の形状である仕上り形状を生成できる情報が入力され、仕上り形状は、加工すべき曲面である加工曲面を有する。すなわち、仕上がり形状を示す情報には加工曲面を示す情報が含まれる。
【００８５】
状態観測部４１１は、状態変数として工具経路を加工プログラム変換装置１００の工具経路記憶部１０３から取得する。工具経路は、実施の形態１で述べたように、工具に対する移動指令が記述された加工プログラムから求められる。また、状態観測部４１１は、加工プログラム変換装置１００の工具データを工具データ入力部１０５から取得する。
【００８６】
さらに、状態観測部４１１は、状態変数として、変換後加工プログラムに基づく数値制御装置１１１の制御のもとで工作機械４０１によって加工された加工対象物の加工精度、すなわち変換後加工プログラムに基づく加工結果の加工精度を取得する。加工精度は、例えば三次元測定機、表面粗さ測定器、画像寸法測定器などの機器を用いて測定された値を用いることができる。図３０では、これらの測定を行う機器が工作機械４０１に備えられている例を示しているが、機器が工作機械４０１とは別に設けられていてもよい。
【００８７】
また、状態観測部４１１は、学習フェーズでは、強化学習における行動である許容寸法公差を、加工プログラム変換装置１００の許容寸法公差入力部１０７から取得して、学習部４１２へ渡す。
【００８８】
学習部４１２は、状態観測部４１１によって観測された状態変数、すなわち、加工対象物の仕上がり形状である加工曲面、加工プログラムから求めた工具経路、工具データ、および変換後加工プログラムに基づく加工結果の加工精度を、状態観測部４１１から受け取る。学習部４１２は、状態変数に基づいて作成されるデータセットに従って、加工精度を満たす最大の許容寸法公差を学習する。なお、本実施の形態４では、一例として、加工精度を満たす最大の許容寸法公差を学習することとしているが、これに限定されず、学習する許容寸法公差は、ユーザの所望する許容寸法公差を満たしていればよい。
【００８９】
図３０に示すように、学習部４１２は、報酬計算部４２１および関数更新部４２２を備える。報酬計算部４２１は、状態変数に基づいて報酬を計算する。報酬計算部４２１は、変換後加工プログラムに基づく加工結果の加工精度に基づいて、報酬ｒを計算する。例えば、報酬計算部４２１は、変換後加工プログラムに基づく加工結果の加工精度が所望の加工精度より良い場合には報酬ｒを増大させる。例えば、報酬計算部４２１は、変換後加工プログラムに基づく加工結果の加工精度が所望の加工精度より良い場合には「１」の報酬を与える。他方、変換後加工プログラムに基づく加工結果の加工精度が所望の加工精度より悪い場合には報酬ｒを低減させる。例えば、報酬計算部４２１は、変換後加工プログラムに基づく加工結果の加工精度が所望の加工精度より悪い場合には「−１」の報酬を与える。変換後加工プログラムに基づく加工結果の加工精度は、公知の方法に従って抽出される。例えば、加工が完了した加工対象物に対して、三次元測定機、表面粗さ測定器、画像寸法測定器などの機器を用いて測定された値を求め、加工対象物の設計値に基づいて加工結果の加工精度を算出することができる。
【００９０】
関数更新部４２２は、報酬計算部４２１によって計算される報酬に従って、変換後加工プログラムに基づく加工結果の加工精度を満たす許容寸法公差を決定するための関数を更新する。例えばＱ学習の場合、式（１）で表される行動価値関数Ｑ（ｓｔ，ａｔ）を変換後加工プログラムに基づく加工結果の加工精度を満たす許容寸法公差を算出するための関数として用いる。学習フェーズにおいて、報酬計算部４２１による報酬の計算と関数更新部４２２による関数の更新が繰り返されることにより学習済モデルすなわち、ｓｔ，ａｔに応じたＱの値を示す関数が生成される。
【００９１】
推論部４１３は、関数更新部４２２が生成した学習済みモデルと、状態観測部４１１から取得した状態変数とを用いて、行動価値関数Ｑ（ｓｔ，ａｔ）が大きくなる行動ａｔすなわち許容寸法公差を、推論結果として求める。なお、学習部４１２は、推論部４１３による推論と同時に学習を行ってもよい。なお、学習済みモデルは類似の形状の加工対象物を加工する際にも用いることが可能となる。これにより、学習時間を短縮しつつ類似の形状についても加工結果の加工精度を満たす許容寸法公差を決定することが可能となる。
【００９２】
なお、本実施の形態では、学習部４１２が用いる学習アルゴリズムに強化学習を適用した場合について説明したが、これに限られるものではない。学習アルゴリズムについては、強化学習以外にも、教師あり学習、教師なし学習、又は半教師あり学習等を適用することも可能である。例えば、教師あり学習を用いる場合、上述した加工対象物の仕上がり形状を示す情報、工具経路、工具データおよび加工結果の加工精度が所望の加工精度を満たしたか否かを示す情報を入力データとし、入力した許容寸法公差を正解データとしたデータセットを教師データとして用いて、学習済モデルを生成する。そして、学習済モデルに、加工対象物の仕上がり形状を示す情報、工具経路、工具データおよび加工結果の加工精度が所望の加工精度を満たすという判定結果を入力することで、所望の加工精度を満たす許容寸法公差を求めることができる。
【００９３】
また、上述した学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）を用いることもでき、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【００９４】
なお、機械学習装置４１０は、図３０に示すように、加工プログラム変換装置１００とは別の装置であってもよいし、加工プログラム変換装置１００の内部に機械学習装置４１０が設けられていてもよい。また、機械学習装置４１０は、数値制御装置１１１の内部に設けられていてもよい。さらに、機械学習装置４１０は、１台または複数台のコンピュータにより実現されてもよいし、クラウドサーバ上に存在していてもよい。
【００９５】
また、機械学習装置４１０は、複数の加工プログラム変換装置１００から取得した状態変数および行動であるデータセットに基づいて、所望の加工精度を満たす許容寸法公差を学習するようにしてもよい。なお、機械学習装置４１０は、同一の現場で使用される複数の加工プログラム変換装置１００からデータセットを取得してもよいし、異なる現場で独立して稼働する複数の加工プログラム変換装置１００および工作機械４０１からデータセットを収集して、所望の加工精度を満たす許容寸法公差を学習してもよい。さらに、データセットの収集対象となる加工プログラム変換装置１００を途中で追加してもよいし、逆に対象から除去することも可能である。さらに、ある加工プログラム変換装置１００に関して所望の加工精度を満たす許容寸法公差を学習した機械学習装置４１０により生成された学習済モデルを、別の加工プログラム変換装置１００に対応する別の機械学習装置４１０に設定し、別の機械学習装置４１０が、新たに取得するデータセットを用いた再学習により学習済モデルを更新するようにしてもよい。
【００９６】
なお、以上述べた例では、機械学習装置４１０が、実施の形態１の加工プログラム変換装置１００からデータセットを取得したが、このかわりに、実施の形態２の加工プログラム変換装置１００からデータセットを取得してもよいし、実施の形態３の数値制御装置２００からデータセットを取得してもよい。また、実施の形態３の数値制御装置２００に機械学習装置４１０が内蔵されていてもよい。
【００９７】
上述した実施の形態４では、機械学習装置４１０の状態観測部４１１が、状態変数として、変換後加工プログラムに基づく加工結果の加工精度を取得していたが、加工精度は、変換加工プログラムに基づく加工結果の加工精度でなくともよい。例えば、変換前の加工プログラムに基づく加工結果の加工精度を用いてもよい。つまり、工作機械４０１を用いて、加工対象物を加工した加工結果の加工精度であれば、上述の、加工曲面、工具経路、工具データとともにデータセットを構成することが可能であり、所望の加工精度を満たす許容寸法公差を推論するための学習モデルを生成することが可能となる。
【００９８】
以上のように、本実施の形態では、変換後加工プログラムに基づく加工結果が所望の加工精度を満たすように、自動的に許容寸法公差を求めることができる。これにより、作業者が適切な許容寸法公差を算出する場合などに比べて、許容寸法公差を決定するための時間が短縮されるため作業能率が向上する。
【符号の説明】
【００９９】
１００  加工プログラム変換装置、１０１，２０１  加工プログラム入力部、１０２，２０２  加工プログラム解析部、１０３，２０３  工具経路記憶部、１０４，２０４  曲線経路生成部、１０５，２０５  工具データ入力部、１０６，２０６  形状データ入力部、１０７，２０７  許容寸法公差入力部、１０８，２０８  曲線経路評価部、１０９，２０９  工具経路修正部、１１０  変換後加工プログラム出力部、１１１，２００  数値制御装置、２１０  曲線経路補間部、４０１  工作機械、４１０  機械学習装置、４１１  状態観測部、４１２  学習部、４１３  推論部、４２１  報酬計算部、４２２  関数更新部、Ｐ１〜Ｐ６，Ｐ１１〜Ｐ１７，Ｒ１  指令点、Ｑ１〜Ｑ  評価点、Ｃ１〜Ｃ３，Ｃ１１〜Ｃ１３，Ｃ２１〜Ｃ２３  基準点、Ｌ１〜Ｌ３，Ｌ１１〜Ｌ１３，Ｌ２１〜Ｌ２３  距離、Ｓ１〜Ｓ３  加工曲面、Ｔ１０〜Ｔ１２  工具、ＴＰ１〜ＴＰ  曲線経路。
【要約】
加工プログラム変換装置（１００）は、工具経路上に設けられた複数の指令点（Ｐ）の間に曲線経路（ＴＰ）を生成する曲線経路生成部（１０４）と、曲線経路（ＴＰ）上に設けた点を評価点（Ｑ）とし、工具と加工曲面が接触する点を基準点（Ｃ）とした場合に、評価点（Ｑ）と基準点（Ｃ）との距離である距離Ｌに対する許容範囲の値が入力される許容寸法公差入力部（１０７）と、距離Ｌが、許容範囲以内か否かを判断する曲線経路評価部（１０８）と、距離Ｌが許容範囲から外れている場合に、許容範囲から外れている評価点のみを、距離Ｌが許容範囲以内となる位置に移動させ、移動後の評価点を新たな指令点（Ｒ）とし、工具経路を修正する工具経路修正部（１０９）と、修正された工具経路を外部装置に出力するためのプログラムに変換する変換後加工プログラム出力部（１１０）とを備える。【図１】
0006808106.tif 000003
【図２】
0006808106.tif 000004
【図３】
0006808106.tif 000005
【図４】
0006808106.tif 000006
【図５】
0006808106.tif 000007
【図６】
0006808106.tif 000008
【図７】
0006808106.tif 000009
【図８】
0006808106.tif 000010
【図９】
0006808106.tif 000011
【図１０】
0006808106.tif 000012
【図１１】
0006808106.tif 000013
【図１２】
0006808106.tif 000014
【図１３】
0006808106.tif 000015
【図１４】
0006808106.tif 000016
【図１５】
0006808106.tif 000017
【図１６】
0006808106.tif 000018
【図１７】
0006808106.tif 000019
【図１８】
0006808106.tif 000020
【図１９】
0006808106.tif 000021
【図２０】
0006808106.tif 000022
【図２１】
0006808106.tif 000023
【図２２】
0006808106.tif 000024
【図２３】
0006808106.tif 000025
【図２４】
0006808106.tif 000026
【図２５】
0006808106.tif 000027
【図２６】
0006808106.tif 000028
【図２７】
0006808106.tif 000029
【図２８】
0006808106.tif 000030
【図２９】
0006808106.tif 000031
【図３０】
0006808106.tif 000032