(57)【要約】【課題】オーバーヒートの発生を回避しながらもサイクルタイムが短くなるように制御情報を調整するための学習モデルを構築する。【解決手段】学習モデル構築装置が、工作機械における加工に係る主軸の動作パターン及びパラメータの組合せを含む制御情報と、前記制御情報に基づいた前記加工を行う前の主軸の温度情報とを、入力データとして取得する入力データ取得手段と、前記制御情報に基づいた前記加工を行った後の主軸の温度情報をラベルとして取得するラベル取得手段と、前記入力データと前記ラベルとの組を教師データとして教師あり学習を行うことにより、前記制御情報に基づいた加工を行った後の主軸の温度情報についての学習モデルを構築する学習モデル構築手段と、を備える。【選択図】図１
2018124929.tif 000002
【特許請求の範囲】
【請求項１】
工作機械における加工に係る主軸の動作パターン及びパラメータの組合せを含む制御情報と、前記制御情報に基づいた前記加工を行う前の主軸の温度情報とを、入力データとして取得する入力データ取得手段と、
前記制御情報に基づいた前記加工を行った後の主軸の温度情報をラベルとして取得するラベル取得手段と、
前記入力データと前記ラベルとの組を教師データとして教師あり学習を行うことにより、前記制御情報に基づいた加工を行った後の主軸の温度情報についての学習モデルを構築する学習モデル構築手段と、
を備える学習モデル構築装置。
【請求項２】
前記制御情報は、前記主軸の動作パターンとして、切削送りの速度及び主軸を指定時間待機させるドウェルの何れか又は双方についての動作パターンを含む請求項１に記載の学習モデル構築装置。
【請求項３】
前記制御情報は、前記パラメータとして、加減速の時定数及び切削送りの速度オーバライドの何れか又は双方についてのパラメータを含む請求項１又は２に記載の学習モデル構築装置。
【請求項４】
請求項１から３の何れか１項に記載の学習モデル構築装置が構築した前記学習モデルを利用する制御情報最適化装置であって、
前記学習モデル構築装置が構築した前記学習モデルに基づいて、前記制御情報を調整するための調整情報の集合の中から、最適調整情報を選択する最適調整情報選択手段を備え、
前記最適調整情報とは、前記最適調整情報により前記制御情報を調整して前記加工を行った場合にオーバーヒートが発生せず、且つ、前記最適調整情報により前記制御情報を調整して前記加工を行った場合のサイクルタイムが前記最適調整情報以外の調整情報により前記制御情報を調整して前記加工を行った場合のサイクルタイムよりも短い調整情報である制御情報最適化装置。
【請求項５】
最適調整情報選択手段は、前記学習モデル構築装置が構築した前記学習モデルに基づいたシミュレーションを行うことにより、実際に工作機械による加工を行うことなく、前記最適調整情報を選択する請求項４に記載の制御情報最適化装置。
【請求項６】
前記最適調整情報選択手段は、
複数の前記調整情報それぞれにより調整した調整後制御情報の集合である第１の集合を求め、
前記第１の集合の中の調整後制御情報の中から前記加工を行った場合にオーバーヒートが発生しない調整後制御情報の集合である第２の集合を求め、
前記第２の集合の中から前記加工の連続運転を行った場合に所定の温度条件を満たす調整後制御情報の集合である第３の集合を求め、
前記第３の集合の中から前記加工を行った場合にサイクルタイムが最短の調整後制御情報を選択し、該選択した調整後制御情報に対応する調整情報を前記最適調整情報として選択する請求項４又は５に記載の制御情報最適化装置。
【請求項７】
前記最適調整情報選択手段は、
複数の前記調整情報それぞれにより調整した調整後制御情報の集合である第１の集合を求め、
前記第１の集合の中の調整後制御情報の中から前記加工を行った場合にオーバーヒートが発生しない調整後制御情報の集合である第２の集合を求め、
前記第２の集合の中から前記加工を行った場合にサイクルタイムが最短の調整後制御情報を選択し、該選択した調整後制御情報に対応する調整情報を前記最適調整情報として選択する、
という処理を、前記最適調整情報により調整した調整後制御情報により前記加工を行うことによって次回の加工を行う前の主軸の温度情報が変化することを考慮して繰り返す請求項４又は５に記載の制御情報最適化装置。
【請求項８】
前記最適調整情報により前記制御情報を調整して前記加工を行うために、前記最適調整情報を出力する最適調整情報出力手段を更に備える請求項４から７の何れか１項に記載の制御情報最適化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械等を制御するための制御情報についての学習モデルを構築する学習モデル構築装置、及び構築された学習モデルを用いて制御情報を最適化する制御情報最適化装置に関する。
【背景技術】
【０００２】
工作機械による生産性を向上させるためには、ワークを加工するための加工時間であるサイクルタイムを短縮する必要がある。サイクルタイムの短縮のための方法としては、例えば、工作機械における切削送りの速度を上げたり、工作機械に備えられた主軸や送り軸の加減速の時定数を短くすることが考えられる。
【０００３】
しかしながら、切削送りの速度を上げたり、主軸や送り軸の加減速の時定数を短くすると、モータやアンプからなる各軸の駆動装置にかかる負荷が大きくなる。その結果として、駆動装置が発熱してオーバーヒートすることとなり、駆動装置の損傷や動作不良を引き起こすことがあり得る。
【０００４】
このような事態を防止するために、一般的な技術では、発熱により駆動装置の温度がオーバーヒートする直前まで上昇すると、アラームを発令して駆動部の動作を停止させることとしている。これにより駆動装置がオーバーヒートして、駆動装置が損傷等することを防止できる。しかしながら、駆動装置の運転を一旦停止してから、駆動装置が冷却されて温度が下がるまでの間は、再運転をすることができないため、加工が中断されてしまうという問題が生じる。
【０００５】
この問題を考慮して、特許文献１に開示の技術では、発熱により駆動装置の温度が所定の温度まで上昇した場合に、駆動部を直ちに停止させるのではなく、数値制御装置に設定された制御情報（例えば主軸の動作パターンやパラメータ等を含む情報）を調整することにより、駆動部の動作速度を低下させている。このようにすれば、駆動装置の温度の更なる上昇を防止しつつ、駆動部を運転して加工を継続することが可能となる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−５８３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、特許文献１に開示の技術を利用すれば、駆動装置がオーバーヒートする可能性がある場合であっても、制御情報を調整することによって加工を継続することができる。これにより、オーバーヒートの発生を回避することができる。
【０００８】
ただし、オーバーヒートについてのみならず、更にサイクルタイムの長さを考慮すると、特許文献１のようにして調整された制御情報が最適な制御情報であるとは限らない。
例えば、特許文献１のように所定の温度まで上昇してから駆動装置の速度を低下させるのではなく、温度の上昇を見越して、所定の温度までは温度が上昇しないような適切な速度で加工を行う方が、結果としてサイクルタイムが短いこともあり得る。また、他にも、温度が上昇する前に、駆動装置を所定時間待機させるドウェルを適宜行う方が、結果としてサイクルタイムが短いこともあり得る。
【０００９】
しかしながら、特許文献１に開示の技術は、あくまで温度が上昇した場合の対処を行うための技術であり、オーバーヒートの発生を回避しながらもサイクルタイムの短い最適な制御情報となるように制御情報を調整してから加工を行うための技術ではない。従って、特許文献１に開示の技術を利用した場合には、サイクルタイムが長くなり、工作機械の生産性が低下してしまうおそれがある。
【００１０】
そこで本発明は、オーバーヒートの発生を回避しながらもサイクルタイムが短くなるように制御情報を調整するための学習モデルを構築する学習モデル構築装置、及びこの構築された学習モデルを用いて制御情報を調整するための制御情報最適化装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
（１）  本発明による学習モデル構築装置（例えば、後述の学習モデル構築装置３００）は、工作機械（例えば、後述の工作機械１００）における加工に係る主軸の動作パターン及びパラメータの組合せを含む制御情報と、前記制御情報に基づいた前記加工を行う前の主軸の温度情報とを、入力データとして取得する入力データ取得手段（例えば、後述の入力データ取得部３１０）と、前記制御情報に基づいた前記加工を行った後の主軸の温度情報をラベルとして取得するラベル取得手段（例えば、後述のラベル取得部３２０）と、  前記入力データと前記ラベルとの組を教師データとして教師あり学習を行うことにより、前記制御情報に基づいた加工を行った後の主軸の温度情報についての学習モデルを構築する学習モデル構築手段（例えば、後述の学習部３３０）と、を備える。
【００１２】
（２）  上記（１）に記載の学習モデル構築装置を、前記制御情報は、前記主軸の動作パターンとして、切削送りの速度及び主軸を指定時間待機させるドウェルの何れか又は双方についての動作パターンを含むようにしてもよい。
【００１３】
（３）  上記（１）又は（２）に記載の学習モデル構築装置を、前記制御情報は、前記パラメータとして、加減速の時定数及び切削送りの速度オーバライドの何れか又は双方についてのパラメータを含むようにしてもよい。
【００１４】
（４）  本発明の制御情報最適化装置（例えば、後述の制御情報最適化装置４００）は、上記（１）から（３）の何れかに記載の学習モデル構築装置が構築した前記学習モデルを利用する制御情報最適化装置であって、前記学習モデル構築装置が構築した前記学習モデルに基づいて、前記制御情報を調整するための調整情報の集合の中から、最適調整情報を選択する最適調整情報選択手段（例えば、後述の最適調整情報選択部４１０）を備え、前記最適調整情報とは、前記最適調整情報により前記制御情報を調整して前記加工を行った場合にオーバーヒートが発生せず、且つ、前記最適調整情報により前記制御情報を調整して前記加工を行った場合のサイクルタイムが前記最適調整情報以外の調整情報により前記制御情報を調整して前記加工を行った場合のサイクルタイムよりも短い調整情報である。
【００１５】
（５）  上記（４）に記載の制御情報最適化装置を、最適調整情報選択手段は、前記学習モデル構築装置が構築した前記学習モデルに基づいたシミュレーションを行うことにより、実際に工作機械による加工を行うことなく、前記最適調整情報を選択するようにしてもよい。
【００１６】
（６）  上記（４）又は（５）に記載の制御情報最適化装置を、前記最適調整情報選択手段は、
前記調整情報それぞれにより調整した調整後制御情報の集合である第１の集合を求め、前記第１の集合の中の調整後制御情報の中から前記加工を行った場合にオーバーヒートが発生しない調整後制御情報の集合である第２の集合を求め、前記第２の集合の中から前記加工の連続運転を行った場合に所定の温度条件を満たす調整後制御情報の集合である第３の集合を求め、前記第３の集合の中から前記加工を行った場合にサイクルタイムが最短の調整後制御情報を選択し、該選択した調整後制御情報に対応する調整情報を前記最適調整情報として選択するようにしてもよい。
【００１７】
（７）  上記（４）又は（５）に記載の制御情報最適化装置を、前記最適調整情報選択手段は、前記調整情報それぞれにより調整した調整後制御情報の集合である第１の集合を求め、前記第１の集合の中の調整後制御情報の中から前記加工を行った場合にオーバーヒートが発生しない調整後制御情報の集合である第２の集合を求め、前記第２の集合の中から前記加工を行った場合にサイクルタイムが最短の調整後制御情報を選択し、該選択した調整後制御情報に対応する調整情報を前記最適調整情報として選択する、という処理を、前記最適調整情報により調整した調整後制御情報によって前記加工を行うことにより次回の加工を行う前の主軸の温度情報が変化することを考慮して繰り返すという処理を複数の制御情報それぞれについて行うようにしてもよい。
【００１８】
（７）  上記（４）から（６）の何れかに記載の制御情報最適化装置を、前記最適調整情報により前記制御情報を調整して前記加工を行うために、前記最適調整情報を出力する最適調整情報出力手段（例えば、後述の最適調整情報出力部４２０）を更に備えるようにしてもよい。
【発明の効果】
【００１９】
本発明の第１の観点によれば、オーバーヒートの発生を回避しながらもサイクルタイムが短くなるように制御情報を調整するための学習モデルを構築することが可能となる。また、本発明の第２の観点によれば、この構築された学習モデルを用いて制御情報を調整することが可能となる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態全体の基本的構成を示すブロック図である。
【図２】本発明の実施形態に含まれる各装置が備える機能ブロックについて示すブロック図である。
【図３】本発明の実施形態における教師あり学習時の基本的動作を示すフローチャートである。
【図４】本発明の第１の実施形態における最適調整情報の選択時の基本的動作を示すフローチャートである。
【図５】本発明の第２の実施形態における最適調整情報の選択時の基本的動作を示すフローチャートである。
【発明を実施するための形態】
【００２１】
次に、本発明の第１の実施形態及び第２の実施形態について図面を参照して詳細に説明する。本発明の第１の実施形態と第２の実施形態は、基本的な構成及び動作において共通するが、後述する調整情報の選択方法が異なる。
以下では、第１の実施形態の説明として、各実施形態に共通する基本的な構成及び動作と、第１の実施形態における調整情報の選択方法について説明をする。次に、第２の実施形態の説明として、各実施形態に共通する基本的な構成及び動作についての重複する説明は省略して、第２の実施形態における調整情報の選択方法について説明をする。
【００２２】
＜第１の実施形態＞
まず、本実施形態に係る制御情報最適化システム１の構成について説明する。制御情報最適化システム１は、図１に示すように、ｎ台の工作機械１００、ｎ台の数値制御装置２００、ｍ台の学習モデル構築装置３００、制御情報最適化装置４００及びネットワーク５００を備えている。なお、ｎおよびｍは任意の自然数である。
【００２３】
ここで、数値制御装置２００と工作機械１００とは１対１の組とされて、通信可能に接続されている。数値制御装置２００と工作機械１００とは、接続インタフェースを介して直接接続されても、またＬＡＮ（Local Area Network）などのネットワークを介して接続されてもよい。これら数値制御装置２００と工作機械１００の組は、例えば同じ工場に複数組設置されていてもよく、それぞれ異なる工場に設置されていてもよい。
【００２４】
また、数値制御装置２００と、学習モデル構築装置３００と、制御情報最適化装置４００は、それぞれ接続インタフェースを介して直接に接続、又はそれぞれネットワーク５００を介して接続されており、相互に通信を行うことが可能である。なお、ネットワーク５００は、例えば、工場内に構築されたＬＡＮや、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワーク５００における具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。
【００２５】
次に、制御情報学習システム１に含まれるこれら装置の機能について、図２を参照して説明する。ここで、図２は、各装置に含まれる機能ブロックを表すブロック図である。なお、各数値制御装置２００はそれぞれ同等の機能を有しているため、図２では１台のみを図示する。同様に、各工作機械１００や各学習モデル構築装置３００もそれぞれ同等の機能を有しているため、図２では１台のみを図示する。また、各装置間に存在するネットワーク５００については、その図示を省略する。
【００２６】
工作機械１００は、数値制御装置２００が出力する動作指令に基づいて切削加工等の所定の加工を行う工作機械である。工作機械１００は、主軸モータ１１０と、温度測定部１２０と、サイクルカウンタ１３０を備える。
【００２７】
主軸モータ１１０は、切削加工を行うためのスピンドルモータである。主軸モータ１１０には、切削加工用の刃物（図示を省略する）が取り付けられており、主軸モータ１１０で回転する主軸（図示を省略する）と、この主軸を送り出す送り軸（図示を省略する）とによって切削加工を行う。
【００２８】
温度測定部１２０は、主軸モータ１１０の温度を測定する温度センサである。温度測定部１２０が測定した温度は、温度情報（主軸温度を示す値又は主軸温度の上昇量を示す値）として数値制御装置２００に対して出力される。なお、温度測定部１２０は、主軸モータ１１０に内蔵されていてもよく、また主軸モータ１１０の近傍に設置されていてもよい。
【００２９】
サイクルカウンタ１３０は、工作機械１００が切削加工を行った場合に、この切削加工に要した加工時間であるサイクルタイムを計測するためのカウンタである。サイクルカウンタ１３０が計測したサイクルタイムは、数値制御装置２００に対して出力される。
【００３０】
数値制御装置２００は、工作機械１００を制御することにより、工作機械１００に切削加工等の所定の加工を行わせる装置である。また、数値制御装置２００は、学習モデル構築装置３００に対して、機械学習を行うための入力データ及びラベルを送信する機能も有している。入力データ及びラベルの詳細については、後述する学習モデル構築装置３００の機能ブロックの説明と併せて説明をする。
【００３１】
数値制御装置２００は、モータ制御部２１０、パラメータ設定部２３０及びプログラム修正部２２０を備える。
【００３２】
モータ制御部２１０は、制御情報に基づいて動作指令を生成し、生成した動作指令を工作機械１００に送出することにより、工作機械１００の主軸モータ１１０等の駆動を制御する。これにより、工作機械１００による切削加工が実現される。
【００３３】
ここで、制御情報とは、数値制御装置２００に設定される加工プログラムと、数値制御装置２００に設定されるパラメータの値を含んだ情報である。
制御情報に含まれる加工プログラムには、例えば、主軸の回転数、切削送りの速度、切削時間、及びそのままの状態で指定時間待機させるドウェル等の、切削加工を行うための動作パターンが記述されている。また、制御情報に含まれるパラメータの値には、例えば加減速の時定数や、オーバライドに関するパラメータの値が含まれる。
【００３４】
プログラム修正部２２０は、調整情報に基づいて、制御情報に含まれる加工プログラムを直接修正する部分である。具体的には、プログラム修正部２２０は、当該加工プログラムで記述された切削送り速度やドウェル等を、ユーザから入力された調整情報や、制御情報最適化装置３００から出力される最適調整情報に基づいて、プログラムコードを直接修正する。
【００３５】
パラメータ設定部２３０は、調整情報に基づいて、制御情報に含まれるパラメータの値を設定する部分である。具体的には、パラメータ設定部２３０は、これらパラメータの値を、ユーザから入力された調整情報や、制御情報最適化装置３００から出力される最適調整情報に基づいて設定する。
【００３６】
以上、工作機械１００及び数値制御装置２００の機能ブロックについて説明したが、上述した機能ブロックは本実施形態の動作に特に関連する部分である。工作機械１００及び数値制御装置２００は、上述した機能ブロック以外にも一般的な機能ブロックを備えている。例えば、ワークを移動させるためのサーボモータや、サーボモータを制御するための制御部や、位置・速度フィードバック制御を行うための位置・速度検出器や、動作指令を増幅するモータ駆動アンプや、ユーザの操作を受け付けるための操作盤等を機能ブロックとして備えている。しかしながら、これらの一般的な機能ブロックについては当業者によく知られているので詳細な説明及び図示を省略する。
【００３７】
学習モデル構築装置３００は、教師データを用いた機械学習である教師あり学習を行うことにより、工作機械１００が切削加工等の加工を行った後の主軸モータ１１０の温度についての学習モデルを構築する装置である。この学習モデルは、後述する制御情報最適化装置４００が、オーバーヒートの発生を回避しながらも加工サイクルタイムが最短になるような調整情報を選択するために利用する。
【００３８】
このような学習モデルを構築するために、学習モデル構築装置３００は、入力データ取得部３１０、ラベル取得部３３０、学習部３３０及び学習モデル記憶部３４０を備える。
【００３９】
入力データ取得部３１０は、数値制御装置２００から入力データを取得し、取得した入力データを学習部３３０に対して出力する部分である。ここで、入力データには、数値制御装置２００に設定された制御情報と、この制御情報に基づいた動作指令により工作機械１００が加工を行う前の主軸モータ１１０の温度情報が含まれる。
【００４０】
ラベル取得部３２０は、数値制御装置２００からラベルを取得し、取得したラベルを学習部３３０に対して出力する部分である。ここで、ラベルには、入力データに含まれる制御情報に基づいた動作指令により工作機械１００が加工を行った後の主軸モータ１１０の温度情報が含まれる。
【００４１】
学習部３２０は、この入力データとラベルとの組を教師データとして受け付け、この教師データを用いて、教師あり学習を行うことにより、加工を行った後の主軸モータ１１０の温度についての学習モデルを構築する。なお、学習部３３０による教師あり学習のより詳細な内容については、図４を参照して後述する。
【００４２】
ここで、教師あり学習を行うための教師データは、多数用意されることが望ましい。そこで、例えば顧客の工場等で実際に稼働している数値制御装置２００のそれぞれから教師データを取得するようにしてもよい。顧客の工場等では、顧客が様々な調整情報を用いて制御情報を調整しているので、様々な教師データを取得することができる。
【００４３】
また、学習モデル構築装置３００による学習を効率的に行うために、例えば実験室等にて、様々な調整情報を用いて制御情報を調整しながら工作機械２００を稼働させることによって多くの教師データを取得するようにしてもよい。この場合、調整情報の作成は、ユーザが行ってもよいが、例えば数値制御装置２００等の装置が調整情報を自動的に作成して、この自動的に作成した調整情報によって行うようにしてもよい。
【００４４】
例えば、工作機械１００が加工を行った後の主軸モータ１１０の温度が低い場合には、切削送り速度をインクレメンタルに増加、又は時定数をインクレメンタルに小さくする等することにより、負荷は大きくなるがサイクルタイムがより短くなるような調整情報を数値制御装置２００が自動的に作成するようにするとよい。一方で、工作機械１００が加工を行った後の主軸モータ１１０の温度が高いのであれば、切削送り速度をインクレメンタルに減少、又は時定数をインクレメンタルに大きくする等、サイクルタイムは長くなるが負荷がより少なくなるような調整情報を数値制御装置２００等の装置が自動的に作成するようにするとよい。
【００４５】
学習部３３０が構築した学習モデルは、学習モデル記憶部３４０及び後述の制御情報最適化装置４００に対して出力される。
【００４６】
学習モデル記憶部３４０は、学習部３３０が構築した学習モデルを記憶する記憶部である。学習モデル記憶部３４０が記憶した学習モデルは、後述の制御情報最適化装置４００により利用される。
【００４７】
なお、学習モデルを構築した後に、新たな教師データを取得した場合には、学習モデル記憶部３４０が記憶した学習モデルに対して更に教師あり学習を行うことにより、一度構築した学習モデルを更新するようにしてもよい。
【００４８】
また、学習モデル記憶部３４０が記憶した学習モデルを、他の学習モデル構築装置３００との間で共有するようにしてもよい。学習モデルを複数の学習モデル構築装置３００で共有するようにすれば、各学習モデル構築装置３００にて分散して教師あり学習を行うことが可能となるので、教師あり学習の効率を向上させることが可能となる。
【００４９】
制御情報最適化装置４００は、オーバーヒートの発生を回避しながらも加工サイクルタイムが最短になるような調整情報を選択する装置である。制御情報最適化装置４００は、最適調整情報選択部４１０と、最適調整情報出力部４２０を備えている。
【００５０】
最適調整情報選択部４１０は、学習モデル記憶部３４０が記憶している学習モデルを取得する。この学習モデルは、上述したように学習部３３０が教師あり学習を行うことにより構築した学習モデルである。そして、最適調整情報選択部４１０は、この学習モデルを利用したシミュレーションを行うことにより、オーバーヒートの発生を回避しながらも加工サイクルタイムが最短になるような調整情報（以下、「最適調整情報」と呼ぶ。）を選択する。最適調整情報の具体的な選択方法については、図４及び図５のフローチャートを参照しながら後述する。
【００５１】
最適調整情報出力部４２０は、最適調整情報選択部４１０が選択した最適調整情報を出力する部分である。最適調整情報出力部４２０は、数値制御装置２００に対して最適調整情報を出力する。すると、数値制御装置２００は、この最適調整情報に基づいて、当該数値制御装置２００に設定されている制御情報に含まれる、加工プログラムの修正や、パラメータの値を設定する。また、数値制御装置２００は、この修正されたプログラムや設定されたパラメータの値に基づいて動作指令を生成する。そして、数値制御装置２００が、この動作指令により、工作機械１００の駆動を制御することにより、工作機械１００は、オーバーヒートの発生を回避しながらも当該加工サイクルタイムが最短になるように動作することができる。
【００５２】
なお、最適調整情報出力部４２０は、最適調整情報を数値制御装置２００以外の他の装置へ出力してもよいし、最適調整情報を記録媒体へ記録してもよいし、最適調整情報を画面へ表示してもよい。
【００５３】
以上、数値制御装置２００や学習モデル構築装置３００や制御情報最適化装置４００に含まれる機能ブロックについて説明した。
【００５４】
これらの機能ブロックを実現するために、数値制御装置２００、学習モデル構築装置３００及び制御情報最適化装置４００のそれぞれは、ＣＰＵ（Central Processing Unit）等の演算処理装置を備える。また、数値制御装置２００、学習モデル構築装置３００及び制御情報最適化装置４００のそれぞれは、アプリケーションソフトウェアやＯＳ（Operating System）等の各種の制御用プログラムを格納したＨＤＤ（Hard Disk Drive）等の補助記憶装置や、演算処理装置がプログラムを実行する上で一時的に必要とされるデータを格納するためのＲＡＭ（Random Access Memory）といった主記憶装置も備える。
【００５５】
そして、数値制御装置２００、学習モデル構築装置３００及び制御情報最適化装置４００のそれぞれにおいて、演算処理装置が補助記憶装置からアプリケーションソフトウェアやＯＳを読み込み、読み込んだアプリケーションソフトウェアやＯＳを主記憶装置に展開させながら、これらのアプリケーションソフトウェアやＯＳに基づいた演算処理を行なう。また、この演算結果に基づいて、各装置が備える各種のハードウェアを制御する。これにより、本実施形態の機能ブロックは実現される。つまり、本実施形態は、ハードウェアとソフトウェアが協働することにより実現することができる。
【００５６】
具体例として、数値制御装置２００は、一般的な数値制御装置に本実施形態を実現するためのアプリケーションソフトウェアを組み込むことにより実現できる。また、学習モデル構築装置３００や制御情報最適化装置４００は、一般的なパーソナルコンピュータに本実施形態を実現するためのアプリケーションソフトウェアを組み込むことより実現できる。
【００５７】
ただし、学習モデル構築装置３００については教師あり学習に伴う演算量が多いため、例えば、パーソナルコンピュータにＧＰＵ（Graphics Processing Units）を搭載し、ＧＰＧＰＵ（General-Purpose computing on Graphics Processing Units）と呼ばれる技術により、ＧＰＵを教師あり学習に伴う演算処理に利用するようにすると高速処理できるようになるのでよい。更には、より高速な処理を行うために、このようなＧＰＵを搭載したコンピュータを複数台用いてコンピュータ・クラスターを構築し、このコンピュータ・クラスターに含まれる複数のコンピュータにて並列処理を行うようにしてもよい。
【００５８】
次に、図３のフローチャートを参照して、学習モデル構築装置３００による教師あり学習時の動作について説明をする。
【００５９】
ステップＳ１１において、入力データ取得部３１０は、数値制御装置２００から、数値制御装置２００に設定された制御情報と、この制御情報に基づいた動作指令により工作機械１００が加工を行う前の主軸モータ１１０の温度情報とを含んだ入力データを取得する。
【００６０】
ステップＳ１２において、ラベル取得部３２０は、数値制御装置２００から、入力データに含まれる制御情報に基づいた動作指令により工作機械１００が加工を行った後の主軸モータ１１０の温度情報を含んだラベルを取得する。
【００６１】
ステップＳ１３において、学習部３３０は、ステップＳ１１にて取得した入力データとステップＳ１２にて取得したラベルの組を教師データとして教師あり学習を行う。本実施形態では、パーセプトロンを組み合わせて構成したニューラルネットワークにより、教師あり学習を行う。
具体的には、教師データに含まれる入力データとラベルの組をニューラルネットワークに与え、ニューラルネットワークの出力がラベルと同じとなるように、ニューラルネットに含まれる各パーセプトロンについての重み付けを変更する。このようにして、教師データの特徴を学習し、入力から結果を推定するための学習モデルを帰納的に獲得する。
【００６２】
ステップＳ１４において、学習部２３０は、教師あり学習を終了するか、それとも教師あり学習を繰り返すかを判定する（ステップＳ１４）。ここで、教師あり学習を終了させる条件は任意に定めることができる。例えば、ニューラルネットワークの出力とラベルとの誤差の値が所定値以下となった場合に教師あり学習を終了させるようにするとよい。また他にも、予め定めておいた回数だけ教師あり学習を繰り返した場合に教師あり学習を終了させるようにするとよい。
【００６３】
何れにしても、条件が満たされておらず、教師あり学習を未だ終了させないのであれば（ステップＳ１４にてＮｏ）、ステップＳ１１に戻り、新たな教師データ又は同じ教師データを対象として、再度教師あり学習を繰り返す。
【００６４】
一方で、教師あり学習を繰り返す過程にて、教師あり学習を終了させる条件が満たされたならば（ステップＳ１４にてＹｅｓ）、教師あり学習を終了する。そして、ステップＳ１５において、その時点までの教師あり学習により構築した学習モデルを学習モデル記憶部２４０に出力して記憶させる。
【００６５】
以上説明した動作により、学習モデル構築装置３００は、工作機械１００が切削加工等の加工を行った後の主軸モータ１１０の温度についての学習モデルを構築することができる、という効果を奏する。
【００６６】
また、上述した教師あり学習は、オンライン学習で行ってもよく、バッチ学習で行ってもよく、ミニバッチ学習で行ってもよい。
オンライン学習とは、工作機械１００による加工が行われ、教師データが作成される都度、即座に教師あり学習を行うという学習方法である。また、バッチ学習とは、工作機械１００による加工が行われ、教師データが作成されることが繰り返される間に、繰り返しに応じた複数の教師データを収集し、収集した全ての教師データを用いて、教師あり学習を行うという学習方法である。更に、ミニバッチ学習とは、オンライン学習と、バッチ学習の中間的な、ある程度教師データが溜まるたびに教師あり学習を行うという学習方法である。
【００６７】
次に、図４のフローチャートを参照して、制御情報最適化装置４００の動作について説明をする。これは、或る１つの制御情報を、様々な調整情報で調整可能な場合において、長時間連続運転したとしてもオーバーヒートの発生を回避でき、且つ、加工サイクルタイムが最短になるような最適な調整情報を選択するための動作である。
【００６８】
ステップＳ２１において、最適調整情報選択部４１０は、学習モデル記憶部３４０が記憶している学習モデルを取得する。この学習モデルは、学習部３３０が上述したように教師あり学習を行うことにより更新したものである。
【００６９】
ステップＳ２２において、最適調整情報選択部４１０は、複数の調整情報それぞれで調整することで得られる調整後の制御情報ｃからなる集合Ａを求める。
【００７０】
ステップＳ２３において、最適調整情報選択部４１０は、集合Ａに属する制御情報ｃ∈Ａの中で、「オーバーヒートしない」という条件を満たす制御情報ｃ∈Ａの集合からなる集合Ｂを求める。
【００７１】
そのために、最適調整情報選択部４１０は、制御情報ｃ∈Ａと、主軸モータ１１０の加工前の温度情報の組合せを入力データとして学習モデルに入力する。そして、この入力データに対応する出力である、主軸モータ１１０の加工後の温度情報に基づいた温度により、この入力データに対応する加工を行った場合にオーバーヒートが発生するか否かを判定する。そして、オーバーヒートが発生しない場合、この入力データに含まれる制御情報ｃ∈Ａを集合Ｂの元（要素）とする。一方で、オーバーヒートが発生する場合、この入力データに含まれる制御情報ｃ∈Ａは集合Ｂの元（要素）とはしない。
最適調整情報選択部４１０は、集合Ａに属する全ての制御情報ｃ∈Ａについてこのように判定を行うことにより集合Ｂを求める。
【００７２】
ステップＳ２４にて、集合Ｂに属する各制御情報ｃ∈Ｂの中で、所定の温度条件を満たす制御情報ｃ∈Ｂの集合からなる集合Ｃを求める。
ここで、所定の温度条件とは、制御情報ｃ∈Ｂにより連続して加工を行った場合の上昇温度が許容温度Ｔｍａｘを超えないことである。
【００７３】
また、学習モデルに対する入力データが、主軸モータ１１０の加工前の温度と、制御情報ｃ∈Ｂの組であり、この入力データに対応した出力が、制御情報ｃ∈Ｂによる加工を行った後の主軸モータ１１０の温度であることから、学習モデルに対応する関数Ｆは次のように定義できる。
【００７４】
Ｆ（加工前の温度，調整後制御情報）＝加工後の温度
【００７５】
そして、Ｔ０を加工前の温度、ｃ∈Ｂを制御情報ｃ∈Ｂ、Ｎを加工の実行回数、Ｎの数を十分に大きな数、として関数Ｆに代入した場合、
Ｔ１＝Ｆ（Ｔ０，ｃ∈Ｂ）
Ｔ２＝Ｆ（Ｔ１，ｃ∈Ｂ）
・・・
Ｔｉ＋１＝Ｆ（Ｔｉ，ｃ∈Ｂ）
・・・
ＴＮ＝Ｆ（ＴＮ−１，ｃ∈Ｂ）
となり、連続してＮ回の加工を行った後の主軸モータ１１０の温度ＴＮを算出することができる。
ここで、実際に学習モデルを利用してシミュレーションを行うことにより算出されるＴＮが、許容温度Ｔｍａｘを超えないのであれば所定の温度条件が満たされたと判定できる。そして、所定の温度条件を満たす制御情報ｃ∈Ｂを集合Ｃの元（要素）wとする。一方で、所定の温度条件を満たさない制御情報ｃ∈Ｂは集合Ｃの元（要素）とはしない。
最適調整情報選択部４１０は、集合Ｂに属する全ての制御情報ｃ∈Ｂについて判定を行うことにより集合Ｃを求める。
【００７６】
ステップＳ２５において、最適調整情報選択部４１０は、集合Ｃに属する制御情報ｃ∈Ｃの中から、その制御情報ｃ∈Ｃにて加工を行った場合にサイクルタイムの最も短い制御情報ｃ∈Ｃを選択する。そして、選択した制御情報ｃ∈Ｃに対応する調整情報（すなわち、調整前の制御情報ｃを、選択した制御情報ｃ∈Ｃに調整するための調整情報）を最適調整情報として選択する。ここで、サイクルタイムは、その制御情報ｃ∈Ｃの内容に基づいて推定することができる。また、推定するのではなく、その制御情報ｃ∈Ｃの内容に基づいて実際に加工を行った際に工作機械１００のサイクルカウンタ１３０が計測したサイクルタイムを利用するようにしてもよい。
【００７７】
ステップＳ２６において、最適調整情報出力部４２０は、最適調整情報選択部４１０が選択した最適調整情報を出力する。すると、数値制御装置２００は、この最適調整情報に基づいて、当該数値制御装置２００に設定されている加工プログラムの修正や、パラメータの値を設定する。また、数値制御装置２００は、この修正されたプログラムや設定されたパラメータの値に基づいて動作指令を生成する。そして、数値制御装置２００が、この動作指令により、工作機械１００の駆動を制御することにより、工作機械１００が、オーバーヒートの発生を回避しながらも当該加工サイクルタイムが最短になるように連続運転することができる、という効果を奏する。
【００７８】
以上第１の実施形態について説明をした。次に第２の実施形態についての説明をする。なお、実施形態の説明の冒頭で述べたように、各実施形態は、基本的な構成及び動作について共通するので、これらの点についての重複する説明は省略する。
一方で、各実施形態は、最適調整情報選択部４１０による調整情報の選択方法が異なるので、この点について詳細に説明をする。
【００７９】
＜第２の実施形態＞
第１の実施形態では、図４のフローチャートを参照して上述したように、或る１つの制御情報を、様々な調整情報で調整可能な場合において、長時間連続運転したとしてもオーバーヒートの発生を回避でき、且つ、加工サイクルタイムが最短になるような最適な調整情報を選択していた。
これに対し、本実施形態では、図５のフローチャートを参照して下述するように、或る１つの制御情報を、様々な調整情報で調整可能な場合において、調整後の制御情報に基づいた動作指令により工作機械１００が加工を行う毎に、都度、オーバーヒートの発生を回避でき、且つ、加工サイクルタイムが最短になるような最適な調整情報を選択する。
【００８０】
ステップＳ３１において、最適調整情報選択部４１０は、学習モデル記憶部３４０が記憶している学習モデルを取得する。この学習モデルは、学習部３３０が上述したように教師あり学習を行うことにより更新したものである。
【００８１】
ステップＳ３２において、最適調整情報選択部４１０は、複数の調整情報それぞれで調整することで得られる調整後の制御情報ｃからなる集合Ａを求める。
【００８２】
ステップＳ３３において、最適調整情報選択部４１０は、集合Ａに属する制御情報ｃ∈Ａの中で、「オーバーヒートしない」という条件を満たす制御情報ｃ∈Ａからなる集合Ｂを求める。
【００８３】
そのために、最適調整情報選択部４１０は、制御情報ｃ∈Ａと、主軸モータ１１０の加工前の温度情報の組合せを入力データとして学習モデルに入力する。そして、この入力データに対応する出力である、主軸モータ１１０の加工後の温度情報に基づいた温度により、この入力データに対応する加工を行った場合にオーバーヒートが発生するか否かを判定する。そして、オーバーヒートが発生しない場合、この入力データに含まれる制御情報ｃを集合Ｂの元（要素）とする。一方で、オーバーヒートが発生する場合、この入力データに含まれる制御情報ｃは集合Ｂの元（要素）とはしない。
【００８４】
最適調整情報選択部４１０は、集合Ａに属する全ての制御情報ｃ∈Ａについてこのように判定を行うことにより集合Ｂを求める。
【００８５】
ステップＳ３４において、最適調整情報選択部４１０は、集合Ｂに属する制御情報ｃ∈Ｂの中から、その制御情報ｃ∈Ｂにて加工を行った場合にサイクルタイムの最も短い制御情報ｃ∈Ｂを選択する。そして、選択した制御情報ｃ∈Ｂに対応する調整情報（すなわち、調整前の制御情報ｃを、選択した制御情報ｃ∈Ｂに調整するための調整情報）を最適調整情報として選択する。ここで、サイクルタイムは、その制御情報ｃ∈Ｂの内容に基づいて推定することができる。また、推定するのではなく、その制御情報ｃ∈Ｂの内容に基づいて実際に加工を行った際に工作機械１００のサイクルカウンタ１３０が計測したサイクルタイムを利用するようにしてもよい。
【００８６】
上述したステップＳ３３までの処理を行うことにより、最初の加工に用いる制御情報（制御情報ｃ０とする）についての最適調整情報が選択される。次に、制御情報ｃ０を用いて加工を行った後の、次の加工に用いる制御情報（制御情報ｃ１とする）についての最適調整情報の選択を行うために、再度ステップＳ３３及びステップＳ３４の処理を行う。この場合、制御情報ｃ０を用いて加工を行っているので、主軸モータ１１０の温度は変化している。
つまり、第１の実施形態と同様に関数Ｆを用いて表現すると
Ｔ１＝Ｆ（Ｔ０，ｃ０∈Ｂ）
であるように、制御情報ｃ０を用いた加工を行うことにより、主軸モータ１１０の温度は、制御情報ｃ０を用いた加工を行う前の温度であるＴ０からＴ１に変化している。
【００８７】
そして、２回目のステップＳ３３におけるオーバーヒートするか否かの判定において、主軸モータ１１０の温度がＴ１であるとして判定が行われる。そのため、判定により集合Ｂに属する制御情報ｃ１∈Ｂ１は、制御情報ｃ０∈Ｂ０と異なったものとなることが予想される。
従って、続くステップＳ３４にて選択される制御情報ｃ１についての最適制御情報も、制御情報ｃ０についての最適制御情報とは異なったものとなることが予想される。
【００８８】
同様にして、次の加工に用いる制御情報（制御情報ｃ２とする）についての最適調整情報の選択を行うために、再度ステップＳ３３及びステップＳ３４の処理を行う。この場合、制御情報ｃ１を用いて加工を行っているので、主軸モータ１１０の温度は更に変化している。
つまり、第１の実施形態と同様に関数Ｆを用いて表現すると
Ｔ２＝Ｆ（Ｔ１，ｃ１∈Ｂ）
であるように、制御情報ｃ１を用いた加工を行うことにより、主軸モータ１１０の温度はＴ１からＴ２に変化している。従って、制御情報ｃ２についての最適制御情報も、制御情報ｃ１についての最適制御情報とは異なったものとなることが予想される。
【００８９】
このようにして、加工の都度変化する主軸モータ１１０の温度に基づいて、加工の都度、次回の加工のための最適制御情報を選択していく。本実施形態では、Ｎ回の加工分の最適調整情報を得るようにする。
【００９０】
そのために、ステップＳ３３及びステップＳ３４の処理をＮ回繰り返す。具体的には、制御情報ｃｉ（０≦ｉ≦Ｎ）として、上述したステップＳ３２及びステップＳ３３の処理をＮ回繰り返したか否かを判定する。ステップＳ３２及びステップＳ３３の処理をＮ回行っていないのであれば（ステップＳ３５にてＮｏ）、ステップＳ３６において、ｉの値を１つ増加させた後にステップＳ３３に戻る。
そして、このようにしてステップＳ３３及びステップＳ３４をＮ回繰り返すと（ステップＳ３５にてＮｏ）、ステップＳ３７に進む。
【００９１】
ステップＳ３７において、最適調整情報出力部４２０は、最適調整情報選択部４１０が制御情報ｃ０、制御情報ｃ１、・・・、制御情報ｃNのそれぞれについて選択した最適調整情報の集合｛ｃ０，・・・、ｃN｝を出力する。
【００９２】
数値制御装置２００は、この最適調整情報の集合｛ｃ０，・・・、ｃN｝に基づいて、当該数値制御装置２００に設定されている加工プログラムの修正や、パラメータの値を設定する。また、数値制御装置２００は、この修正されたプログラムや設定されたパラメータの値に基づいて動作指令を生成する。そして、数値制御装置２００が、この動作指令により、工作機械１００の駆動を制御する。
これにより、制御情報ｃ０に基づいた動作指令により加工が行われ、次に制御情報ｃ１に基づいた動作指令により加工が行われ、・・・、最後に制御情報ｃNに基づいた動作指令により加工が行われることとなる。これにより、工作機械１００が、オーバーヒートの発生を回避しながらも各加工サイクルタイムが最短になるように動作することができる、という効果を奏する。
【００９３】
次に、本発明の各実施形態の効果についてより詳細に説明する。前提として、加工プログラムを調整して、切削送りの速度を上げることで、サイクルタイムを短縮できる。一方で、切削送りの速度を下げることで、主軸の発熱を抑えることができる。また、加工プログラムを調整して、ドウェルを短くすることで、サイクルタイムを短縮できる。一方で、ドウェルを長くすることで、主軸の発熱を抑えることができる。更に、パラメータの設定値を調整して加減速の時定数を短くすることで、サイクルタイムを短縮できる。一方で、加減速の時定数を長くすることで、主軸の発熱を抑えることができる。
【００９４】
このように、サイクルタイムの短縮と主軸の発熱はトレードオフの関係にあることが多い。ここで、従来は、ユーザが自分の経験をもとに、自分が最適と思う調整情報を設定していた。しかし、その調整情報必ずしも最適ではなく、また、ユーザによって完成度も異なっていた。つまり、従来は、加工プログラムやパラメータの値を適切に調整することにより、オーバーヒートの発生を回避しながらもサイクルタイムを短縮することは困難であった。
【００９５】
これに対して、本発明の各実施形態では、上述したようにして最適調整情報を選択でき、この最適調整情報により加工プログラムやパラメータの値を調整することから、オーバーヒートの発生を回避しながらもサイクルタイムを短縮することができる。
また、本発明の各実施形態では、構築した学習モデルを利用したシミュレーションにより最適調整情報を選択できることから、最適調整情報を選択するために、実際に工作機械１００による加工行う必要がない。
すなわち、本実施形態は、一般的な技術に比べて、有利な効果を奏する。
【００９６】
なお、上記の制御情報最適化システムに含まれる各装置のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の制御情報学習システムに含まれる各装置のそれぞれの協働により行なわれる制御情報学習方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
【００９７】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ(Read Only Memory)、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ(Programmable ROM)、ＥＰＲＯＭ(Erasable PROM)、フラッシュＲＯＭ、ＲＡＭ(random access memory）)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００９８】
また、上述した各実施形態は、本発明の好適な実施形態ではあるが、上記実施形態のみに本発明の範囲を限定するものではなく、各実施形態を組み合わせた形態や、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００９９】
上述した各実施形態では、工作機械１００として、切削加工を行う工作機械を例として挙げたが、これに限定されない。例えば研削加工、研磨加工、圧延加工、あるいは鍛造加工といった他の加工を行う工作機械を工作機械１００としてもよい。
【０１００】
また、上述した各実施形態では、教師あり学習により学習モデルを構築していたが、半教師あり学習等の他の機械学習により学習モデルを構築するようにしてもよい。
【０１０１】
上述した各実施形態では、学習モデル構築装置３００や制御情報最適化装置４００を、工作機械１００や数値制御装置２００とは別体の装置により実現することを想定していたが、学習モデル構築装置３００や制御情報最適化装置４００の機能の一部又は全部を工作機械１００や数値制御装置２００により実現するようにしてもよい。また、学習モデル構築装置３００及び制御情報最適化装置４００の機能の双方を単一の装置により実現するようにしてもよい。
【符号の説明】
【０１０２】
１００  工作機械
１１０  主軸モータ
１２０  温度測定部
１３０  サイクルカウンタ
２００  数値制御装置
２１０  モータ制御部
２２０  パラメータ設定部
３００  学習モデル構築装置
３１０  状態情報取得部
３２０  制御情報出力部
３３０  学習部
３４０  学習モデル記憶部
４００  制御情報最適化装置
４１０  最適調整情報選択部
４２０  最適調整情報出力部
５００  ネットワーク
【図１】
2018124929.tif 000003
【図２】
2018124929.tif 000004
【図３】
2018124929.tif 000005
【図４】
2018124929.tif 000006
【図５】
2018124929.tif 000007