(57)【要約】【課題】機械で発生する機械遅れ時間をより高い精度で予測することが可能な機械学習装置を提供すること。【解決手段】本発明の機械学習装置１１０は、加工が行われているときに、当該加工に係る情報を数値制御装置１から取得する状態観測部１１２と、加工が行われているときに、当該加工において発生したサーボ制御及び機械運動の実際の遅れ時間を取得するラベル取得部１１３と、状態観測部１１２が取得した加工に係る情報を入力データとし、ラベル取得部１１３が取得したサーボ制御及び機械運動の実際の遅れ時間を教師データとした教師あり学習を行い、学習モデルを構築する学習部１１１と、学習モデルを記憶する学習モデル記憶部１１４と、を備える。【選択図】図１
2018073136.tif 000002
【特許請求の範囲】
【請求項１】
加工プログラムに基づいて少なくとも１つの軸を備える機械を制御する数値制御装置において、前記加工プログラムに基づくワークの加工を行う際に発生するサーボ制御及び機械運動の遅れ時間を学習する機械学習装置であって、
前記加工が行われているときに、当該加工に係る情報を前記数値制御装置から取得する状態観測部と、
前記加工が行われているときに、当該加工において発生したサーボ制御及び機械運動の実際の遅れ時間を取得するラベル取得部と、
前記状態観測部が取得した加工に係る情報を入力データとし、前記ラベル取得部が取得したサーボ制御及び機械運動の実際の遅れ時間を教師データとした教師あり学習を行い、学習モデルを構築する学習部と、
前記学習モデルを記憶する学習モデル記憶部と、
を備えた機械学習装置。
【請求項２】
加工プログラムに基づいて少なくとも１つの軸を備える機械を制御する数値制御装置において、前記加工プログラムに基づくワークの加工を行う際に発生するサーボ制御及び機械運動の遅れ時間を予測する機械学習装置であって、
前記加工に係る情報を入力データとし、前記加工において発生したサーボ制御及び機械運動の実際の遅れ時間を教師データとした教師あり学習により構築された学習モデルを記憶する学習モデル記憶部と、
前記加工プログラムに基づく加工シミュレーションで算出された、前記加工プログラムに基づくワークの加工に係る情報を取得する状態観測部と、
前記学習モデルに基づいて、前記状態観測部が取得した加工に係る情報からサーボ制御及び機械運動の遅れ時間を予測する予測部と、
を備えた機械学習装置。
【請求項３】
前記加工に係る情報には、サーボ制御及び機械運動の遅れ時間が発生した指令に係る情報及び前後の連続したプログラム指令の組に係る情報の少なくともいずれかを含む、
請求項１または２に記載の機械学習装置。
【請求項４】
加工プログラムに基づいてサーボ制御及び機械運動の遅れ時間を含まない基準加工時間を予測する基準加工時間予測部と、
請求項２または３に記載の機械学習装置が前記加工プログラムから予測したサーボ制御及び機械運動の遅れ時間に基づいて、前記基準加工時間を補正するための補正時間を算出する補正時間算出部と、
前記基準加工時間を前記補正時間で補正した予測加工時間を算出する加工時間予測部と、
を備えた加工時間予測装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習装置及び加工時間予測装置に関し、特に加工状況に対するサーボ制御及び機械運動の遅れ時間を学習する機械学習装置及び加工時間予測装置に関する。
【背景技術】
【０００２】
工作機械でワークを加工する場合、一般に、加工時間を短くするために加工速度を上げると加工精度は悪くなり、逆に加工時間を長くするために加工速度を下げると加工精度は良くなる。そのため、工作機械でワークを加工するユーザは、「あらかじめ設定されている許容加工誤差内の加工精度でワークをできるだけ短い加工時間で加工したい。」と要望している。しかし、どの程度の加工時間で加工すればどの程度の加工誤差でワークを加工できるかは簡単には分らない。
【０００３】
そこで、パラメータ等の設定を変えながら試し加工を行うことで加工精度を維持しつつ加工時間の短縮を試みたり、試し加工を行わずにシミュレーションを行って加工精度と加工時間を予測したりするなど、様々な試行錯誤を繰り返している。
【０００４】
加工時間の予測を行うことに関する主な従来技術として特許文献１〜４及び非特許文献１に開示されるものがある。特許文献１では、補助機能の時間を補助コード毎に蓄積し、その平均値を予測加工時間に反映することにより、正確な加工時間を予測する技術が開示されている。特許文献２ではサーボ動作をシミュレーションすることにより、より正確な加工時間および加工誤差の予測を可能とする技術が開示されている。特許文献３では、加工中に実際に加工した分の時間を測定し、その実加工時間に予測加工時間を加算することにより、予測加工時間のみよりも正確な加工時間を予測する技術が開示されている。また、特許文献４では、工具経路をセグメントというブロックより細かい単位に分割し、数値制御装置の処理能力を考慮した上で、セグメントの移動時間を足し上げて加工時間とすることで、加減速時間やプログラムの実行順番を考慮した正確な加工時間予測を可能とする技術が開示されている。更に、非特許文献１に開示される技術では、加減速による遅れ、サーボ制御による遅れ、機械の運動の遅れを計算して、加工時間を予測している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１７５４３９号公報
【特許文献２】特開２０１２−２４３１５２号公報
【特許文献３】特開平１１−０２８６４３号公報
【特許文献４】特開２０１４−０３８４８２号公報
【非特許文献】
【０００６】
【非特許文献１】公技番号２０１２−５０２２７０
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般に、機械を動作させた場合、各部に生じる摩擦力に基づく動作遅延やフィードバック系の遅延、慣性により生じる動作遅延などが原因となり、加減速による遅れ、サーボ制御による遅れ、機械の運動の遅れなどのいわゆる機械遅れが発生する（図６）。しかしながら、特許文献１，２に開示されている技術では、このような機械遅れが考慮されていないため、加工時間予測結果に誤差が出るという問題がある。また、特許文献３に開示される技術では、加工終了近くでは予測精度が高くなるが、加工の序盤においては機械遅れが予測結果に十分に反映されないため、加工時間予測結果に誤差が出る。更に、特許文献４，非特許文献１に開示される技術では、機械遅れの時間を計算することは示唆されているものの具体的な機械遅れの時間を計算する手法が開示されているわけではなく、また、機械毎に機械遅れの特性は異なるため、仮に計算手法が開示されていたとしても全ての種類の機械遅れに対応させることは困難であり、正確に予測することはできない。
【０００８】
一般に、機械遅れは制御対象の加減速がなされた場合に大きくなる。そこで、機械遅れが原因で発生する予測加工時間と実際の加工時間との乖離時間をあらかじめ実験などで測定しておき、測定した乖離時間と加工における加減速の回数とから予測加工時間を補正する方法により精度の高い加工時間の予測が行えると考えられるが、実際には加工プログラムに含まれる１つの指令の実行中や２つの連続するプログラム指令の間で発生する機械遅れ（例えば、Ｇ２８指令や加工サイクル指令の実行中に発生する機械遅れや、Ｇ００指令の次にＧ０１指令を実行した場合における、Ｇ００指令とＧ０１指令との間で発生する機械遅れ）は、当該指令の種別、２つのプログラム指令種別の組（順序を伴う組み合わせ）、ワークの重さ、加工速度などの様々な要素により異なってくるため、単純に乖離時間を測定して用いたとしても加工時間の予測精度の向上には限界があるという問題があった。
【０００９】
そこで本発明の目的は、機械で発生する機械遅れ時間をより高い精度で予測することが可能な機械学習装置を提供することである。
【課題を解決するための手段】
【００１０】
本発明では、加工時間の予測に機械学習（教師あり学習）を導入することで上記課題を解決する。本発明の機械学習装置は、実際に機械で行われるテスト加工で取得される制御周期毎の移動量、プログラム指令又はプログラム指令の組、加工速度、ワークの重さ等の様々なデータとサーボ制御及び機械運動の遅れ時間とに基づく学習を行い、制御周期毎の移動量、プログラム指令又はプログラム指令の組、加工速度、ワークの重さ等の入力データから、サーボ制御及び機械運動の遅れ時間を予測する学習モデルを構築する。学習モデルの構築が完了した後に、加工時間の予測を行いたいプログラムに対してシミュレーションを行うことで学習に用いたものと同様の入力データを求め、求めた入力データを本発明の機械学習装置に与えることによりサーボ制御及び機械運動の遅れ時間を予測する。そして、算出したサーボ制御及び機械運動の遅れ時間を従来のサーボ制御及び機械運動の遅れ時間を考慮していない加工時間予測結果に加算することにより、より高精度に加工時間を予測することができるようになる。
【００１１】
そして、本発明の請求項１に係る発明は、加工プログラムに基づいて少なくとも１つの軸を備える機械を制御する数値制御装置において、前記加工プログラムに基づくワークの加工を行う際に発生するサーボ制御及び機械運動の遅れ時間を学習する機械学習装置であって、前記加工が行われているときに、当該加工に係る情報を前記数値制御装置から取得する状態観測部と、前記加工が行われているときに、当該加工において発生したサーボ制御及び機械運動の実際の遅れ時間を取得するラベル取得部と、前記状態観測部が取得した加工に係る情報を入力データとし、前記ラベル取得部が取得したサーボ制御及び機械運動の実際の遅れ時間を教師データとした教師あり学習を行い、学習モデルを構築する学習部と、前記学習モデルを記憶する学習モデル記憶部と、を備えた機械学習装置である。
【００１２】
本発明の請求項２に係る発明は、加工プログラムに基づいて少なくとも１つの軸を備える機械を制御する数値制御装置において、前記加工プログラムに基づくワークの加工を行う際に発生するサーボ制御及び機械運動の遅れ時間を予測する機械学習装置であって、前記加工に係る情報を入力データとし、前記加工において発生したサーボ制御及び機械運動の実際の遅れ時間を教師データとした教師あり学習により構築された学習モデルを記憶する学習モデル記憶部と、前記加工プログラムに基づく加工シミュレーションで算出された、前記加工プログラムに基づくワークの加工に係る情報を取得する状態観測部と、前記学習モデルに基づいて、前記状態観測部が取得した加工に係る情報からサーボ制御及び機械運動の遅れ時間を予測する予測部と、を備えた機械学習装置である。
【００１３】
本発明の請求項３に係る発明は、前記加工に係る情報には、サーボ制御及び機械運動の遅れ時間が発生した指令に係る情報及び前後の連続したプログラム指令の組に係る情報の少なくともいずれかを含む、請求項１または２に記載の機械学習装置である。
【００１４】
本発明の請求項４に係る発明は、加工プログラムに基づいてサーボ制御及び機械運動の遅れ時間を含まない基準加工時間を予測する基準加工時間予測部と、請求項２または３に記載の機械学習装置が前記加工プログラムから予測したサーボ制御及び機械運動の遅れ時間に基づいて、前記基準加工時間を補正するための補正時間を算出する補正時間算出部と、前記基準加工時間を前記補正時間で補正した予測加工時間を算出する加工時間予測部と、を備えた加工時間予測装置である。
【発明の効果】
【００１５】
本発明によれば、サーボ制御及び機械運動の遅れなどの工作機械の特性を考慮したより精度の高い加工時間予測が可能になる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態による機械学習装置の学習時における概略的な機能ブロック図である。
【図２】機械学習装置１１０が行う学習の概要について説明する図である。
【図３】多層ニューラルネットを学習モデルとして用いた場合の例を示す図である。
【図４】入力データの数値化について説明する図である。
【図５】一般的な数値制御装置の要部を示すハードウェア構成図である。
【図６】ラベル取得部１１３によるサーボ制御及び機械運等の実際の遅れ時間の測定方法を説明する図である。
【図７】本発明の一実施形態による機械学習装置の利用時における概略的な機能ブロック図である。
【図８】本発明の他の実施形態による機械学習装置の利用時における概略的な機能ブロック図である。
【図９】機械遅れについて説明する図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面と共に説明する。
図１は、本発明の一実施形態による機械学習装置の学習時における概略的な機能ブロック図である。本実施形態の機械学習装置１１０は、数値制御装置１に内蔵され、数値制御装置１の制御部１００が加工プログラム２００に基づいて加工を行う際に、制御部１００から各情報を取得する。なお、機械学習装置１１０は、数値制御装置１に内蔵されている必要はなく、数値制御装置１から後述する各情報を取得できるのであれば外部接続の形態としても良い。
【００１８】
機械学習装置１１０が備える各構成ついて説明する前に、機械学習装置１１０が行う学習の概要について説明する。図２は、機械学習装置１１０が行う学習の概要について説明する図である。上記したように、サーボ制御及び機械運動の遅れ時間は、加工プログラムの実行中に、加工の流れの中の１つの指令の実行中（図２のＤなど）及び前後する２つの連続したプログラム指令の間（図２のＡ，Ｂ，Ｃなど）で発生する可能性がある。そこで、機械学習装置１１０は、数値制御装置１で加工プログラム２００が実行されている最中に該加工プログラムの実行状況を監視しながら数値制御装置１の各部から情報を取得し、あるプログラム指令が実行した時、及びあるプログラム指令の実行が完了して次のブロックの実行が開始された時（数値制御装置１によるブロック実行の移り変わりのタイミング）を学習タイミングとし、当該学習タイミング（Ａ，Ｂ，Ｃ，Ｄ，…）に取得された各情報に基づいて機械学習を行う。機械学習装置１１０は、このように数値制御装置１による加工プログラム２００の実行中に最大で｛加工プログラム２００のプログラム番号を除くブロックの数＋（加工プログラム２００のプログラム番号を除くブロックの数−１）｝回分の学習を行う可能性がある。なお、機械学習装置１１０は、機械遅れが発生しないとあらかじめわかっているタイミングについては学習の対象から省くようにしても良い。
【００１９】
次に、機械学習装置１１０が備える各構成について説明する。機械学習装置１１０は、学習部１１１、状態観測部１１２、ラベル取得部１１３、学習モデル記憶部１１４を備える。
学習部１１１は、状態観測部１１２が数値制御装置１の各部から取得した加工に係る情報を入力データ、ラベル取得部１１３が取得した加工において発生するサーボ制御及び機械運動の実際の遅れ時間を教師データ（ラベルとも称する）とした教師あり学習を行い、学習モデルを構築して学習モデル記憶部１１４に記憶する機能手段である。学習部１１１が構築した学習モデルは、後述するようにサーボ制御及び機械運動の遅れ時間の推定に利用される。学習部１１１が構築する学習モデルは、加工に係る情報からサーボ制御及び機械運動の遅れ時間を学習及び予測することが可能な学習モデルであればどのようなものを用いてもよい。例えば、後述する多層ニューラルネットや、ベイジアンネットワークなどを用いることができる。
一例として、例えば図３に示すような多層ニューラルネットを学習モデルとして用いる場合には、入力データとして数値制御装置１で行われる加工に係るデータを、教師データとして当該加工が行われた際に発生したサーボ制御及び機械運動の実際の遅れ時間を、それぞれ与えて深層学習などの手法により学習を進めるようにする。なお、公知のニューラルネットワーク、深層学習などの詳細については本明細書での説明を省略する。
【００２０】
状態観測部１１２は、数値制御装置１の各部から加工に係る情報を取得し、取得した情報を学習部１１１へと出力する。状態観測部１１２が取得する加工に係る情報としては、加工条件のデータ（ワークの重さ、ワークの種類、治具の重さ、加工の種類）、実加工のデータ（時刻、学習タイミングにおける１つの指令又は学習タイミングの前後の連続した２つのプログラム指令の組）、制御周期毎の移動量などが挙げられる。
状態観測部１１２は、数値制御装置１の図示しないメモリ上の設定領域に設定されている各情報や、図示しないメモリ上に記憶された図面データや加工プログラム２００、各センサから数値制御装置１に入力される信号などから加工に係る情報を取得する。例えば、ワークの材質などについては図面データから固定的な情報を取得すればよいし、ワークの重さなどについては図面データなどに基づいて固定的な値を取得しても良いが、より厳密な学習が行えるようにワーク台に設置された重量センサから各タイミングでの実際のワークの重量を取得するようにしても良い。
状態観測部１１２が取得する加工に係る情報に文字列などの数値以外の情報が含まれる場合には、例えば図４に示すような変換表をあらかじめ図示しないメモリ上に記憶しておき、該変換表を用いて数値以外の情報を数値化するようにしても良い。
【００２１】
ラベル取得部１１３は、数値制御装置１による加工プログラムの実行中に発生したサーボ制御及び機械運動による実際の遅れ時間を測定して取得し、測定したサーボ制御及び機械運動による実際の遅れ時間を学習部１１１へと出力する。
【００２２】
以下では、ラベル取得部１１３によるサーボ制御及び機械運動による実際の遅れ時間の測定方法について説明する。
まずは、図５に、一般的な数値制御装置と該数値制御装置によって駆動制御される工作機械の要部を示すハードウェア構成図を示す。数値制御装置１が備えるＣＰＵ１１は、数値制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って数値制御装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及びＣＲＴ／ＭＤＩユニット７０を介してオペレータが入力した各種データ等が格納される。
【００２３】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、数値制御装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、インタフェース１５を介して読み込まれた加工プログラムや後述するＣＲＴ／ＭＤＩユニット７０を介して入力された加工プログラムが記憶されている。不揮発性メモリ１４には更に、加工プログラムを運転するために用いられる加工プログラム運転処理用プログラムや、加工時間予測処理用プログラム等が記憶されるが、これらプログラムは実行時にはＲＡＭ１３に展開される。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理などを実行するための各種のシステム・プログラムがあらかじめ書き込まれている。
【００２４】
インタフェース１５は、数値制御装置１とアダプタ等の外部機器７２と接続するためのインタフェースである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１に内蔵されたシーケンス・プログラムで工作機械の周辺装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２５】
ＣＲＴ／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８はＣＲＴ／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は手動パルス発生器等を備えた操作盤７１に接続されている。
【００２６】
工作機械が備える軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ５０を駆動する。軸のサーボモータ５０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には工作機械に備えられた軸の数だけ用意される。
【００２７】
スピンドル制御回路６０は、工作機械への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、工作機械のスピンドルモータ６２を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ６２には歯車あるいはベルト等でポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはＣＰＵ１１によって読み取られる。
【００２８】
なお、図１で示した数値制御装置１が備える制御部１００は、加工プログラム２００の解析処理を実行するＣＰＵ１１や、各軸を制御する軸制御回路３０、サーボアンプ４０、スピンドル制御回路６０やスピンドルアンプ６１などにより実現される機能手段である。
【００２９】
図６は、ラベル取得部１１３によるサーボ制御及び機械運動の実際の遅れ時間の測定方法を説明する図である。加工プログラム２００に含まれる軸制御のためのプログラム指令が実行されると、数値制御装置１内で該プログラム指令が解析され、解析結果に基づいてサーボモータ５０に出力される制御周期毎の移動量が生成される。生成された制御周期毎の移動量は軸制御回路３０、サーボアンプ４０を介してサーボモータ５０に対して制御周期毎に出力され、サーボモータ５０はその制御周期毎の移動量の分だけ移動し、位置・速度のフィードバックがサーボモータ５０から軸制御回路３０に返されるが、さまざまな理由（機械の各部に生じる摩擦力に基づく動作遅延やフィードバック系の遅延、慣性により生じる動作遅延など）により、サーボモータ５０がその制御周期において本来移動するべき位置と実際のサーボモータの位置との間にずれが生じ、そのずれ量に相当する制御周期毎の移動量がエラー量となり、次の制御周期に位置のずれを修正するために出力される。ラベル取得部１１３は、プログラム指令ごとの制御周期毎の移動量の出力状況とエラー量の出力状況とを監視して、制御周期毎の移動量が出力されておらずにエラー量のみが出力されている時間を測定し、測定した時間をサーボ制御及び機械運動の実際の遅れ時間とする。図６に示すように、サーボ制御及び機械運動の実際の遅れ時間は、１つの指令の実行中、及び前後の連続した２つのプログラム指令の間で発生する可能性があるため、測定したサーボ制御及び機械運動の実際の遅れ時間は、１つの指令又は前後の連続した２つのプログラム指令の組と対応付けて学習に用いられる。なお、ラベル取得部１１３は、時間を測定するために、例えば数値制御装置１や機械学習装置１１０に内蔵される図示しないＲＴＣ（リアルタイムクロック）などを用いる。
【００３０】
以上の構成により、機械学習装置１１０は、数値制御装置１で加工プログラム２００に基づく加工が行われるたびに、状態観測部１１２が数値制御装置１の各部から取得した加工に係る情報と、ラベル取得部１１３が測定して取得した加工において発生するサーボ制御及び機械運動の実際の遅れ時間とに基づく学習を進め、学習モデルを構築することができる。
【００３１】
次に、構築された学習モデルを用いてサーボ制御及び機械運動の遅れ時間を予測する、機械学習装置１１０について説明する。
図７は、本発明の一実施形態による機械学習装置の遅れ時間予測時における概略的な機能ブロック図である。本実施形態の機械学習装置１１０は、ＰＣや数値制御の加工シミュレータなどの環境１４０、及び、加工プログラム２００の加工時間予測機能を備えた加工時間予測装置１５０と接続されて使用される。
【００３２】
機械学習装置１１０は、状態観測部１１２、学習モデル記憶部１１４、及び予測部１１５を備える。
状態観測部１１２は、環境１４０において加工プログラム２００が解析乃至シミュレーションされた結果から、学習時に入力データとして用いられた加工に係る情報と同じ情報を取得し、取得した情報を予測部１１５へと出力する。状態観測部１１２は、加工プログラム２００を仮に実行した場合における１つの指令の実行のタイミング、又は前後する２つの連続した指令の実行の合間のタイミングにおける加工に係る情報を取得する。状態観測部１１２は、環境１４０から取得された値を、実際に加工が行われた際の値として扱う。状態観測部１１２が取得する加工に係る情報としては、学習時の場合と同様に、加工条件のデータ（ワークの重さ、ワークの種類、治具の重さ、加工の種類）、実加工のデータ（時刻、取得タイミングにおける１つの指令及び取得タイミングの前後の連続した２つのプログラム指令の組）、制御周期毎の移動量などが挙げられる。状態観測部１１２が取得する加工に係る情報に文字列などの数値以外の情報が含まれる場合には、例えば図４に示すような変換表をあらかじめ図示しないメモリ上に記憶しておき、該変換表を用いて数値以外の情報を数値化するようにしても良い。
【００３３】
予測部１１５は、状態観測部１１２が環境１４０から取得した加工に係る情報を入力データとし、学習モデル記憶部１１４に記憶された学習モデルを用いたサーボ制御及び機械運動の遅れ時間の予測を行う。
一例として、図３で示した多層ニューラルネットを学習モデルとして用いる場合には、入力データとして得られた加工に係るデータを多層ニューラルネットに与えることで、サーボ制御及び機械運動の遅れ時間の予測値が出力される。
このようにして、予測部１１５は加工プログラム２００の各ブロック間で発生するサーボ制御及び機械運動の遅れ時間を予測し、予測したサーボ制御及び機械運動の遅れ時間を加工時間予測装置１５０に対して出力する。加工時間予測装置１５０は、機械学習装置１１０から受けた予測したサーボ制御及び機械運動の遅れ時間を、加工時間予測部１３０が備える補正時間算出部１３２へと引き渡す。
【００３４】
加工時間予測装置１５０は、ＰＣやシミュレーション装置、数値制御装置などの形態で実装される装置であり、加工プログラム２００と機械学習装置１１０から受けたサーボ制御及び機械運動の遅れ時間の予測値とに基づいて加工プログラム２００による加工に掛かる加工時間をより精密に予測する装置である。加工時間予測装置１５０は、加工時間予測部１３０を備える。
【００３５】
加工時間予測部１３０は、加工プログラム２００による加工に掛かる加工時間を予測する機能手段である。加工時間予測部１３０は、基準加工時間予測部１３１、補正時間算出部１３２を備える。
基準加工時間予測部１３１は、加工時間の予測対象となる加工プログラム２００を解析し、当該加工プログラム２００に基づく加工に掛かるサーボ制御及び機械運動の遅れ時間を考慮しない加工時間を予測する。サーボ制御及び機械運動の遅れ時間を考慮しない加工時間の予測には、例えば特許文献１，２などに開示される従来技術を用いることができる。
【００３６】
補正時間算出部１３２は、機械学習装置１１０が備える予測部１１５から出力された、加工プログラム２００の各ブロック間で発生するサーボ制御及び機械運動の遅れ時間を積算することで補正時間を算出する。
【００３７】
そして、加工時間予測部１３０は、基準加工時間予測部１３１が算出した加工プログラム２００に基づく加工に係るサーボ制御及び機械運動の遅れ時間を考慮しない加工時間に対して補正時間算出部１３２が算出した補正時間を加算することで、サーボ制御及び機械運動の遅れ時間を考慮した予測加工時間を算出する。
【００３８】
このように、数値制御装置１により加工が実行されたときに得られた加工に係る情報を入力データとし、サーボ制御及び機械運動の実際の遅れ時間を教師データとした学習をした結果として得られた学習モデルを備えた機械学習装置１１０は、加工時間を予測する対象となる加工プログラム２００を解析乃至シミュレーションして得られた各情報を加工に係る情報として用いることにより、加工プログラム２００を用いた加工時に発生するサーボ制御及び機械運動の遅れ時間を予測することができる。そして、加工時間予測装置は、機械学習装置１１０が予測したサーボ制御及び機械運動の遅れ時間を用いることで、加工プログラム２００による加工に掛かる加工時間をより精密に予測することができるようになる。
【００３９】
図８は、機械学習装置１１０を数値制御装置１内に組み込んだ場合の実施形態を示している。本実施形態では、数値制御装置１が図６で示した加工時間予測装置１５０に相当する。本実施形態の機械学習装置１１０は、加工時間予測機能及び加工シミュレーション機能を備えた数値制御装置１に内蔵され、数値制御装置１が加工プログラム２００による加工に掛かる加工時間の予測を行う際に、加工プログラム２００に基づく加工シミュレーションで得られた各情報に基づいて、加工プログラム２００の実行において発生するサーボ制御及び機械運動の遅れ時間を予測する。図８における加工シミュレーション部１２０が、図７における環境１４０に相当する。なお、本実施形態の機械学習装置１１０は、数値制御装置１に内蔵されている必要はなく、数値制御装置１から後述する各情報を取得できるのであれば外部接続の形態としても良い。
【００４０】
本実施形態の状態観測部１１２は、加工シミュレーション部１２０が実行した加工プログラム２００に基づく加工シミュレーションの結果から、学習時に入力データとして用いられた加工に係る情報と同じ情報を取得し、取得した情報を予測部１１５へと出力する。加工シミュレーション部１２０は、特開２０１２−２４３１５２号公報などの従来技術で公知となっている手法を用いて加工プログラム２００のシミュレーションを行う。
【００４１】
予測部１１５は、状態観測部１１２が加工シミュレーション部１２０から取得した加工に係る情報を入力データとし、学習モデル記憶部１１４に記憶された学習モデルを用いたサーボ制御及び機械運動の遅れ時間の予測を行い、その結果を加工時間予測部１３０が備える補正時間算出部１３２へと出力する。
その他の機能手段である加工時間予測部１３０、基準加工時間予測部１３１、補正時間算出部１３２の動作については、図６で説明したものと同様である。
【００４２】
以上、ここまで本発明の実施の形態について説明したが、本発明は上記した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
上記した実施形態では１台の機械学習装置１１０での学習及び利用の形態を示したが、学習部１１１が構築して学習モデル記憶部１１４に記憶する学習モデル自体は学習結果を示すデータの集合であるため、例えば、図示しない外部記憶装置やネットワークなどを介して学習モデルを他の機械学習装置１１０との間で共有するように構成することもできる。このように構成した場合、学習においては、複数の機械学習装置１１０の間で一つの学習モデルを共有した状態で、それぞれの機械学習装置１１０が並列して学習を行い、学習の完了までに掛かる時間を短縮することができ、一方で学習モデルの利用においては、共有した学習モデルを用いて複数の機械学習装置１１０のそれぞれでサーボ制御及び機械運動の遅れ時間の予測を行うことも可能である。学習モデルの共有方法については特定の方法に限定されない。例えば、工場のホストコンピュータ内に学習モデルを記憶しておいて各機械学習装置１１０で共有してもよいし、学習モデルをメーカーが設置したサーバ上に記憶しておき、顧客の機械学習装置の間で共有できるように構成することもできる。
【００４３】
また、上記した実施形態では、学習時と予測時における機械学習装置１１０の構成を個別に説明しているが、機械学習装置１１０は、学習時の構成と予測時の構成を同時に備えたものとしても良い。このようにした場合、機械学習装置１１０は、数値制御装置１による加工時間の予測時には学習モデルを用いたサーボ制御及び機械運動の遅れ時間の予測を行い、これに続く数値制御装置１による加工時には学習部１１１が更なる追加の学習を行うようにすることができる。
【００４４】
更に、上記した実施形態では、加工時間予測部１３０はそれぞれ他の機能手段を含むような構成を示しているが、このような包含関係を持たせる必要はなく、各機能手段をそれぞれ独立した機能手段として実装したとしても本発明の機能及び効果が変わるものではない。
【符号の説明】
【００４５】
１  数値制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５  インタフェース
１６  ＰＭＣ
１７  Ｉ／Ｏユニット
１８  インタフェース
１９  インタフェース
２０  バス
３０  軸制御回路
４０  サーボアンプ
５０  サーボモータ
６０  スピンドル制御回路
６１  スピンドルアンプ
６２  スピンドルモータ
６３  ポジションコーダ
７０  ＣＲＴ／ＭＤＩユニット
７１  操作盤
７２  外部機器
１００  制御部
１１０  機械学習装置
１１１  学習部
１１２  状態観測部
１１３  ラベル取得部
１１４  学習モデル記憶部
１１５  予測部
１２０  加工シミュレーション部
１３０  加工時間予測部
１３１  基準加工時間予測部
１３２  補正時間算出部
１４０  環境
１５０  加工時間予測装置
２００  加工プログラム
【図１】
2018073136.tif 000003
【図２】
2018073136.tif 000004
【図３】
2018073136.tif 000005
【図４】
2018073136.tif 000006
【図５】
2018073136.tif 000007
【図６】
2018073136.tif 000008
【図７】
2018073136.tif 000009
【図８】
2018073136.tif 000010
【図９】
2018073136.tif 000011