(57)【要約】【課題】機械の個体差を考慮した適切な熱変位補正を行なうことを可能とする熱変位補正システムを提供すること。【解決手段】本発明の熱変位補正システム１は、機械の個体差の条件を指定する条件指定部１１０と、機械の状態を示す状態量を検出する状態量検出部１４０と、状態量から機械の熱状態を特徴付ける特徴量を作成する特徴量作成部２１０と、機械の熱変位補正量を推論する推論計算部２２０と、推論された前記機械の熱変位補正量に基づいて機械の熱変位補正を行なう補正実施部４００と、特徴量を用いた機械学習により学習モデルを生成乃至更新する学習モデル生成部５００と、学習モデルを機械の個体差の条件の組み合わせと関連付けて記憶する学習モデル記憶部３００と、備える。【選択図】図１
2019063960.tif 000002
【特許請求の範囲】
【請求項１】
機械の熱変位補正を行なう熱変位補正システムであって、
前記機械の個体差の条件を指定する条件指定部と、
前記機械の状態を示す状態量を検出する状態量検出部と、
前記状態量から前記機械の熱変位補正量を推論する推論計算部と、
前記推論計算部により推論された前記機械の熱変位補正量に基づいて前記機械の熱変位補正を行なう補正実施部と、
前記状態量を用いた機械学習により学習モデルを生成乃至更新する学習モデル生成部と、
前記学習モデル生成部が生成した少なくとも１つの学習モデルを前記条件指定部により指定された条件の組み合わせと関連付けて記憶する学習モデル記憶部と、
を具備し、
前記推論計算部は、前記条件指定部が指定する前記機械の個体差の条件に基づいて前記学習モデル記憶部に記憶された学習モデルの中から少なくとも１つの学習モデルを選択的に用いて前記機械の熱変位補正量を推論する、
熱変位補正システム。
【請求項２】
前記状態量検出部が検出した状態量から前記機械の熱状態を特徴付ける特徴量を作成する特徴量作成部を更に備え、
前記推論計算部は、前記特徴量から前記機械の熱変位補正量を推論し、
前記学習モデル生成部は、前記特徴量を用いた機械学習により学習モデルを生成乃至更新する、
請求項１に記載の熱変位補正システム。
【請求項３】
前記学習モデル生成部は、前記学習モデル記憶部が記憶する既存の学習モデルに対する改変を実施することによって新しい学習モデルを生成する、
請求項１または２に記載の熱変位補正システム。
【請求項４】
前記学習モデル記憶部は、前記学習モデル生成部が生成した学習モデルを暗号化して記憶し、前記推論計算部により学習モデルが読み出される際に暗号化された学習モデルを復号する、
請求項１〜３のいずれか１つ記載の熱変位補正システム。
【請求項５】
機械の熱変位補正を行なう熱変位補正システムであって、
前記機械の個体差の条件を指定する条件指定部と、
前記機械の状態を示す状態量を検出する状態量検出部と、
前記状態量から前記機械の熱変位補正量を推論する推論計算部と、
前記推論計算部により推論された前記機械の熱変位補正量に基づいて前記機械の熱変位補正を行なう補正実施部と、
前記機械の運転動作の組み合わせと予め関連付けられている少なくとも１つの学習モデルを記憶する学習モデル記憶部と、
を具備し、
前記推論計算部は、前記条件指定部が指定する前記機械の個体差の条件に基づいて前記学習モデル記憶部に記憶された学習モデルの中から少なくとも１つの学習モデルを選択的に用いて前記機械の熱変位補正量を推論する、
熱変位補正システム。
【請求項６】
前記状態量検出部が検出した状態量から前記機械の熱状態を特徴付ける特徴量を作成する特徴量作成部を更に備え、
前記推論計算部は、前記特徴量から前記機械の熱変位補正量を推論する、
請求項５に記載の熱変位補正システム。
【請求項７】
請求項１〜６のいずれか１つに記載された条件指定部と、状態量検出部と、
を備えた数値制御装置。
【請求項８】
機械の個体差の条件を指定するステップと、
前記機械の状態を示す状態量を検出するステップと、
前記状態量から前記機械の熱変位補正量を推論するステップと、
前記熱変位補正量に基づいて前記機械の熱変位補正を行なうステップと、
前記状態量を用いた機械学習により学習モデルを生成乃至更新するステップと、
を実行する熱変位補正方法であって、
前記推論するステップは、機械の運転動作の条件の組み合わせと予め関連付けられている少なくとも１つの前記学習モデルの中から、前記条件を指定するステップで指定された条件に基づいて使用する学習モデルを選択し、選択した学習モデルを用いて前記機械の熱変位補正量を推論する、
熱変位補正方法。
【請求項９】
前記状態量から前記機械の熱状態を特徴付ける特徴量を作成するステップを更に実行し、
前記推論するステップは、前記特徴量から前記機械の熱変位補正量を推論し、
前記学習モデルを生成乃至更新するステップは、前記特徴量を用いた機械学習により学習モデルを生成乃至更新する、
請求項８に記載の熱変位補正方法。
【請求項１０】
機械の個体差の条件を指定するステップと、
前記機械の状態を示す状態量を検出するステップと、
前記状態量から前記機械の熱変位補正量を推論するステップと、
前記熱変位補正量に基づいて前記機械の熱変位補正を行なうステップと、
を実行する熱変位補正方法であって、
前記推論するステップは、機械の個体差の条件の組み合わせと予め関連付けられている少なくとも１つの学習モデルの中から、前記条件を指定するステップで指定された条件に基づいて使用する学習モデルを選択し、選択した学習モデルを用いて前記機械の熱変位補正量を推論する、
熱変位補正方法。
【請求項１１】
前記状態量から前記機械の個体差による熱状態を特徴付ける特徴量を作成するステップを更に実行し、
前記推論するステップは、前記特徴量から前記機械の熱変位補正量を推論する、
請求項１０に記載の熱変位補正方法。
【請求項１２】
複数の学習モデルのそれぞれを、機械の熱変位補正を行なう条件の組み合わせに関連付けて成る学習モデルセットであって、
前記複数の学習モデルのそれぞれは、前記機械の個体差の条件の下で行われる前記機械の状態を示す状態量に基づいて生成乃至更新された学習モデルであり、
前記複数の学習モデルの中から、機械の個体差の条件に基づいて１つの学習モデルを選択し、選択した学習モデルを前記機械の熱変位補正量の推論の処理に使用させる、
学習モデルセット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、熱変位補正システムに関し、特に工場内の機械の個体差に応じて学習モデルを切り替えながら補正を実施する熱変位補正システムに関する。
【背景技術】
【０００２】
機械において、送りねじや主軸はモータによって駆動されることから、モータの発熱、軸受の回転による摩擦熱、送りねじのボールネジとボールナットの接触部の摩擦熱によって、主軸や送りねじは膨張し機械位置が変化する。また、機械の周囲温度の変化やクーラントの使用によっても、コラムやベッドが温度変化するので、発生した伸びや傾斜によって機械位置が変化する。すなわち、位置決めすべきワークと工具の相対位置関係にずれが生じる。この熱による機械位置の変化は、精度の高い加工を行う場合に問題となる。
【０００３】
この熱による機械位置の変位を除去するため、変位センサを用いて指令位置を補正する技術や、主軸の回転数等の運転条件から熱変位を予測して指令位置を補正する技術、送りねじに初期張力を与えた、熱による膨張の影響を受けない構造等が用いられている（特許文献１〜３等）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−０８６３２９号公報
【特許文献２】特開２００６−０５５９１９号公報
【特許文献３】特開２００８−１８３６５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、機械の熱変位の状態は、機械自身の動作状態だけでなく、該機械の個体差によっても大きく変化する。例えば、機械の製造ロット、使用頻度、累積稼働時間、保守・改造履歴等によって、同じ動作状態であっても機械の熱変位の状態が異なってくる。その為、機械の熱変位補正を適切に行なうためには、該機械の個体差を考慮することが必要不可欠となる。
【０００６】
機械の熱変位補正を行うために、機械自身の動作状態と個体差を考慮した機械学習器を導入することも考えられるが、上記したような様々な状況に対応できるような汎用的な機械学習器（汎用的な学習モデル）を作成するためには、様々な状況において検出される多くの状態情報が必要であり、また、状況に係るデータを含む多くの媒介変数が必要となるため過学習等の既知の問題が発生することもある。
【０００７】
そこで本発明の目的は、機械の個体差を考慮した適切な熱変位補正を行なうことを可能とする熱変位補正システムを提供することである。
【課題を解決するための手段】
【０００８】
本発明の熱変位補正システムでは、工場内の機械の個体差によって該機械の熱変位補正を決定するために用いる学習モデルを切り替える機構を設けることにより、上記課題を解決する。本発明の熱変位補正システムは、複数の学習モデルを持ち、工場内の機械の個体差等に応じて学習モデルを選択し、選択した学習モデルに対して機械から検出された状態量に基づく機械学習を行い、また、このようにして作成された学習モデルを、工場内の機械の個体差等に応じて使い分けて機械の熱変位補正を行なう。
【０００９】
そして、本発明の一態様は、機械の熱変位補正を行なう熱変位補正システムであって、前記機械の個体差の条件を指定する条件指定部と、前記機械の状態を示す状態量を検出する状態量検出部と、前記状態量から前記機械の熱変位補正量を推論する推論計算部と、前記推論計算部により推論された前記機械の熱変位補正量に基づいて前記機械の熱変位補正を行なう補正実施部と、前記状態量を用いた機械学習により学習モデルを生成乃至更新する学習モデル生成部と、前記学習モデル生成部が生成した少なくとも１つの学習モデルを前記条件指定部により指定された条件の組み合わせと関連付けて記憶する学習モデル記憶部と、を具備し、前記推論計算部は、前記条件指定部が指定する前記機械の個体差の条件に基づいて前記学習モデル記憶部に記憶された学習モデルの中から少なくとも１つの学習モデルを選択的に用いて前記機械の熱変位補正量を推論する、熱変位補正システムである。
【００１０】
本発明の他の態様は、機械の個体差の条件を指定するステップと、前記機械の状態を示す状態量を検出するステップと、前記状態量から前記機械の熱変位補正量を推論するステップと、前記熱変位補正量に基づいて前記機械の熱変位補正を行なうステップと、前記状態量を用いた機械学習により学習モデルを生成乃至更新するステップと、を実行する熱変位補正方法であって、前記推論するステップは、機械の運転動作の条件の組み合わせと予め関連付けられている少なくとも１つの前記学習モデルの中から、前記条件を指定するステップで指定された条件に基づいて使用する学習モデルを選択し、選択した学習モデルを用いて前記機械の熱変位補正量を推論する、熱変位補正方法である。
【００１１】
本発明の他の態様は、複数の学習モデルのそれぞれを、機械の熱変位補正を行なう条件の組み合わせに関連付けて成る学習モデルセットであって、前記複数の学習モデルのそれぞれは、前記機械の個体差の条件の下で行われる前記機械の状態を示す状態量に基づいて生成乃至更新された学習モデルであり、前記複数の学習モデルの中から、機械の個体差の条件に基づいて１つの学習モデルを選択し、選択した学習モデルを前記機械の熱変位補正量の推論の処理に使用させる、学習モデルセットである。
【発明の効果】
【００１２】
本発明により、工場内の機械の個体差に応じて選択された学習モデルに対して、それぞれの状況において検出された機械の状態量に基づいて機械学習を行なうことができるため、過学習を防ぎながら効率の良い機械学習を行うことができ、また、工場内の機械の個体差等に応じて選択された学習モデルを用いた機械の熱変位補正を行なうため、機械の熱変位補正の精度が向上する。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態による熱変位補正システムの概略的な機能ブロック図である。
【図２】機械の個体差の条件を例示する図である。
【図３】機械の個体差の条件のクラス分けを例示する図である。
【図４】第２の実施形態による熱変位補正システムの概略的な機能ブロック図である。
【図５】第３の実施形態による熱変位補正システムの概略的な機能ブロック図である。
【図６】第４の実施形態による熱変位補正システムの概略的な機能ブロック図である。
【図７】第５の実施形態による熱変位補正システムの概略的な機能ブロック図である。
【図８】第５の実施形態による熱変位補正システムの変形例を示す概略的な機能ブロック図である。
【図９】第６の実施形態による熱変位補正システムの概略的な機能ブロック図である。
【図１０】熱変位補正システム上で実行される処理の概略的なフローチャートである。
【図１１】熱変位補正システム上で実行される処理の概略的なフローチャートである。
【図１２】一実施形態による数値制御装置及び機械学習装置の要部を示す概略的なハードウェア構成図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。
図１は、第１の実施形態による熱変位補正システム１の概略的な機能ブロック図である。図１に示した各機能ブロックは、数値制御装置、セルコンピュータ、ホストコンピュータ、クラウドサーバ等のコンピュータが備えるＣＰＵ、ＧＰＵ等のプロセッサが、それぞれのシステム・プログラムに従って装置の各部の動作を制御することにより実現される。
【００１５】
本実施形態の熱変位補正システム１は、少なくとも状態の観測・推論対象となるエッジデバイスとしての数値制御部１００、エッジデバイスの状態に対する推論を行なう推論処理部２００、複数の学習モデルを記憶して管理する学習モデル記憶部３００を備える。本実施形態の熱変位補正システム１は、更に、エッジデバイスの状態について推論処理部２００が推論した結果に基づいて熱変位補正を行なう補正実施部４００、学習モデル記憶部３００に記憶する学習モデルの作成及び更新をする学習モデル生成部５００を備える。
【００１６】
本実施形態の数値制御部１００は、図示しないメモリに記憶された加工プログラムのブロックを実行することにより機械を制御する。数値制御部１００は、例えば数値制御装置として実装され、図示しないメモリに記憶された加工プログラムのブロックを逐次読み出して解析し、解析した結果に基づいて制御周期毎のモータ１２０の移動量を算出し、算出した制御周期毎の移動量に従ってモータ１２０を制御する。数値制御部１００により制御される機械は、モータ１２０により駆動される機構部１３０を備えており、該機構部１３０が駆動されることにより、例えば工具とワークとが相対的に移動してワークが加工される。なお、図１では省略しているが、モータ１２０は工作機械の機構部１３０が備える軸の数だけ用意される。
【００１７】
数値制御部１００が備える条件指定部１１０は、数値制御部１００が制御する機械の個体差の条件を指定する機能手段である。個体差の条件としては、例えば機械の製造ロット、使用頻度、累積稼働時間、保守・改造履歴等が挙げられる。条件指定部１１０は、作業者が図示しない入力装置を介して数値制御部１００に設定した条件、数値制御部１００が機械から取得した条件、数値制御部１００がネットワーク等を介して取得された条件、加工プログラムにより指令された条件等を必要に応じて数値制御部１００の各部に対して指定（出力）すると共に、当該条件を学習モデル記憶部３００、学習モデル生成部５００に対して指定（出力）する。条件指定部１１０は、エッジデバイスとしての数値制御部１００の現在の加工運転における条件を学習モデルを選択するための条件として熱変位補正システム１の各部に対して知らせる役割を持つ。
【００１８】
数値制御部１００が制御する機械の個体差の条件は、例えば図２に示すように、機械の製造ロット、使用頻度、累積稼働時間、保守履歴（例えば、保守を行なう機械の部位毎の前回の保守からの経過時間と保守の頻度の組等で示すことができる）、改造履歴（改造した機械の部位に対して導入した特注部品等で示すことができる）の項目の組み合わせで表現しても良い。また、これらの各項目以外でも、熱変位に対して大きな影響を与える個体差を示す項目であれば、どのような項目でも採用してよい。
【００１９】
数値制御部１００が備える状態量検出部１４０は、数値制御部１００が制御する機械の状態を状態量として検出する機能手段である。数値制御部１００が制御する機械の状態量としては、例えば機械の周辺温度、機械各所の温度、機械の主軸や送り軸などの動作等が例示される。状態量検出部１４０は、例えば数値制御部１００や該数値制御部１００が制御する工作機械の機構部１３０を駆動するモータ１２０に流れる電流値や、各部に別途設けられたセンサ等の機器により検出された検出値を状態量として検出する。状態量検出部１４０が検出した状態量は、推論処理部２００、学習モデル生成部５００に対して出力される。
【００２０】
本実施形態の推論処理部２００は、エッジデバイスとしての数値制御部１００（及び該数値制御部１００により制御される機械）の状態を観測し、該観測した結果に基づく数値制御部１００が制御する機械の各軸の熱変位補正量を推論する。推論処理部２００は、例えば数値制御装置やセルコンピュータ、ホストコンピュータ、クラウドサーバ、又は機械学習装置等として実装することができる。
【００２１】
推論処理部２００が備える特徴量作成部２１０は、状態量検出部１４０が検出した状態量に基づいて、数値制御部１００が制御する機械の熱状態の特徴を示す特徴量を作成する機能手段である。特徴量作成部２１０が作成する数値制御部１００が制御する機械の熱状態の特徴を示す特徴量は、該数値制御部１００が制御する機械の熱変位量を推論する際の判断の材料として有用な情報である。また、特徴量作成部２１０が作成する数値制御部１００が制御する機械の熱状態の特徴を示す特徴量は、後述する推論計算部２２０が学習モデルを用いた推論を行う際の入力データである。特徴量作成部２１０が作成する数値制御部１００が制御する機械の熱状態の特徴を示す特徴量は、例えば状態量検出部１４０が検出した主軸の負荷を、過去の所定の期間分だけ所定のサンプリング周期でサンプリングしたものであってよく、また、状態量検出部１４０が検出したモータ１２０の速度の過去の所定の期間分内のピーク値であってもよい。特徴量作成部２１０は、状態量検出部１４０が検出した状態量を、推論計算部２２０が取り扱えるように前処理を行い正規化したものである。
【００２２】
推論処理部２００が備える推論計算部２２０は、現在の数値制御部１００が制御する機械の個体差の条件に基づいて学習モデル記憶部３００から選択された学習モデルと、特徴量作成部２１０が作成した特徴量とに基づいて、数値制御部１００が制御する機械の各軸の熱変位補正量を推論する機能手段である。推論計算部２２０は、機械学習による推論処理を実行可能なプラットフォームに対して、学習モデル記憶部３００に記憶される学習モデルを適用することにより実現される。推論計算部２２０は、例えば多層ニューラルネットワークを用いた推論処理を行うためのものであっても良く、また、ベイジアンネットワークやサポートベクタマシン、混合ガウスモデル等の機械学習として公知の学習アルゴリズムを用いた推論処理を行うためのものであっても良い。推論計算部２２０は、例えば教師あり学習、教師なし学習、強化学習などの学習アルゴリズムを用いた推論処理を行うためのものであって良い。また、推論計算部２２０は、複数種類の学習アルゴリズムに基づく推論処理をそれぞれ実行可能であっても良い。推論計算部２２０は、機械学習の学習モデル記憶部３００から選択された学習モデルに基づいた機械学習器を構成し、該機械学習器の入力データとして特徴量作成部２１０が作成した特徴量を用いた推論処理を実行することで数値制御部１００が制御する機械の各軸の熱変位補正量を推論する。
【００２３】
本実施形態の学習モデル記憶部３００は、条件指定部１１０により指定された数値制御部１００が制御する機械の個体差の条件の組み合わせに関連付けられた複数の学習モデルを記憶することが可能な機能手段である。学習モデル記憶部３００は、例えば数値制御部１００やセルコンピュータ、ホストコンピュータ、クラウドサーバ、データベースサーバ等の上に実装することができる。
【００２４】
学習モデル記憶部３００には、条件指定部１１０により指定された数値制御部１００が制御する機械の個体差の条件の組み合わせに関連付けられた複数の学習モデル１，２，…，Ｎが記憶される。ここで言うところの数値制御部１００が制御する機械の個体差の条件の組み合わせは、それぞれの条件が取り得る値、値の範囲、値の列挙に関する組み合わせを意味し、例えば図３に示すように機械の製造ロットの範囲、使用頻度の範囲、累積稼働時間の範囲、保守履歴の範囲、改造履歴の範囲（機械に組み込み可能な特注部品のリスト等）の組み合わせでクラス分けするようにしても良い。
【００２５】
学習モデル記憶部３００に記憶される学習モデルは、推論計算部２２０における推論処理に適合する１つの学習モデルを構成可能な情報として記憶される。学習モデル記憶部３００に記憶される学習モデルは、例えば多層ニューラルネットワークの学習アルゴリズムを用いた学習モデルである場合には、各層のニューロン（パーセプトロン）数、各層のニューロン（パーセプトロン）間の重みパラメータなどとして記憶することができ、また、ベイジアンネットワークの学習アルゴリズムを用いた学習モデルである場合には、ベイジアンネットワークを構成するノードとノード間の遷移確率などとして記憶することができる。学習モデル記憶部３００に記憶される学習モデルのそれぞれは、同じ学習アルゴリズムを用いた学習モデルであっても良く、また、異なる学習アルゴリズムを用いた学習モデルであっても良く、推論計算部２２０による推論処理に利用可能であればどのような学習アルゴリズムを用いた学習モデルであっても良い。
【００２６】
学習モデル記憶部３００は、１つの数値制御部１００が制御する機械の個体差の条件の組み合わせに対して１つの学習モデルを関連付けて記憶しても良く、また、１つの数値制御部１００が制御する機械の個体差の条件の組み合わせに対して２以上の異なる学習アルゴリズムを用いた学習モデルを関連付けて記憶しても良い。学習モデル記憶部３００は、その組み合わせの範囲が重畳する複数の数値制御部１００が制御する機械の個体差の条件の組み合わせのそれぞれに対して異なる学習アルゴリズムを用いた学習モデルを関連付けて記憶しても良い。この時、学習モデル記憶部３００は、数値制御部１００が制御する機械の個体差の条件の組み合わせに対応する学習モデルに対して、更に必要処理能力や学習アルゴリズムの種類等の利用条件を定めることにより、例えば数値制御部１００が制御する機械の個体差の条件の組み合わせに対して、実行可能な推論処理や処理能力が異なる推論計算部２２０に応じた学習モデルを選択することが可能となる。
【００２７】
学習モデル記憶部３００は、数値制御部１００が制御する機械の個体差の条件の組み合わせを含む学習モデルの読み出し／書き込み要求を外部から受けると、当該数値制御部１００が制御する機械の個体差の条件の組み合わせに関連付けて記憶された学習モデルに対して読み出し／書き込みを行なう。この時、学習モデルの読み出し／書き込み要求には、推論計算部２２０が実行可能な推論処理や処理能力の情報を含めるようにしても良く、そのようにした場合、学習モデル記憶部３００は、数値制御部１００が制御する機械の個体差の条件の組み合わせ、及び、推論計算部２２０が実行可能な推論処理や処理能力に関連付けられた学習モデルに対して読み出し／書き込みを行なう。学習モデル記憶部３００は、外部からの学習モデルの読み出し／書き込み要求に対して、条件指定部１１０から指定された条件に基づいて、該条件（の組み合わせ）に関連付けられた学習モデルに対して読み出し／書き込みが行なわれるようにする機能を備えていても良い。このような機能を設けることで、推論計算部２２０や学習モデル生成部５００に対して、条件指定部１１０から指定された条件に基づく学習モデルを要求する機能を設ける必要がなくなる。
【００２８】
なお、学習モデル記憶部３００は、学習モデル生成部５００が生成した学習モデルを暗号化して記憶し、推論計算部２２０により学習モデルが読み出される際に暗号化された学習モデルを復号化するようにしても良い。
【００２９】
補正実施部４００は、推論処理部２００で推論された数値制御部１００が制御する機械の各軸の熱変位補正量に基づいて、数値制御部１００が制御する機械の熱変位補正を行う機能手段である。補正実施部４００は、例えば数値制御部１００に対して各軸の補正量を指令することにより、数値制御部１００が制御する機械の熱変位補正を行う。
【００３０】
学習モデル生成部５００は、条件指定部１１０により指定された数値制御部１００が制御する機械の個体差の条件と、特徴量作成部２１０により作成された数値制御部１００が制御する機械の熱状態の特徴を示す特徴量とに基づいて、学習モデル記憶部３００に記憶された学習モデルの生成乃至更新（機械学習）を行なう機能手段である。学習モデル生成部５００は、条件指定部１１０により指定された数値制御部１００が制御する機械の個体差の条件に基づいて生成乃至更新の対象となる学習モデルを選択し、選択した学習モデルに対して特徴量作成部２１０により作成された数値制御部１００が制御する機械の熱状態の特徴を示す特徴量による機械学習を行う。学習モデル生成部５００が学習を行うタイミングは、例えば、数値制御部１００に対して作業者が手動で機械の各軸の熱変位補正量を設定した場合や、他の熱変位補正手段により機械の各軸の熱変位補正量が設定された場合等に行なわれる。この場合において、学習モデル生成部５００は、設定された熱変位補正量に基づく機械の運転動作が正常に行なわれた場合（例えば、所定の精度のワークが加工されたことが作業者により確認された場合等）に、数値制御部１００が制御する機械の個体差の条件に基づいて選択された学習モデルに対して、特徴量作成部２１０により作成された数値制御部１００が制御する機械の熱状態の特徴を示す特徴量を状態変数とし、設定された各軸の熱変位補正量をラベルデータとした学習モデルの生成乃至更新（機械学習）を行う。
【００３１】
学習モデル生成部５００は、条件指定部１１０により指定された数値制御部１００が制御する機械の個体差の条件（の組み合わせ）と関連付けられた学習モデルが学習モデル記憶部３００に記憶されていない場合には、当該条件（の組み合わせ）と関連付けた学習モデルを新たに生成し、条件指定部１１０により指定された数値制御部１００が制御する機械の個体差の条件（の組み合わせ）と関連付けられた学習モデルが学習モデル記憶部３００に記憶されている場合には、該学習モデルに対する機械学習を行うことで該学習モデルを更新する。学習モデル生成部５００は、学習モデル記憶部３００に条件指定部１１０により指定された数値制御部１００が制御する機械の個体差の条件（の組み合わせ）に関連付けられた学習モデルが複数記憶されている場合には、それぞれの学習モデルに対して機械学習を行うようにしても良く、また、学習モデル生成部５００により実行可能な学習処理や処理能力に基づいて、一部の学習モデルに対してのみ機械学習を行うようにしてもよい。
【００３２】
学習モデル生成部５００は、学習モデル記憶部３００に記憶された学習モデルに対して改変を加え、新たな学習モデルを生成するようにしても良い。学習モデル生成部５００による学習モデルの改変の例としては、例えば蒸留モデルの生成が例示される。蒸留モデルは、学習済みモデルを組み込んだ機械学習器に対する入力に対して得られる出力を用いて、他の機械学習器において１から学習を行うことで得られる学習済みモデルである。学習モデル生成部５００は、このような工程（蒸留工程と言う）を経て得られた蒸留モデルを、新たな学習モデルとして学習モデル記憶部３００に記憶して利用することができる。一般に、蒸留モデルは元の学習済みモデルよりもサイズが小さく、それでいて元の学習済みモデルと同等の正確度を出せるため、ネットワーク等を介した他のコンピュータに対する配布により適している。学習モデル生成部５００による学習モデルの改変の他の例としては、学習モデルの統合が例示される。学習モデル生成部５００は、数値制御部１００が制御する機械の個体差の条件（の組み合わせ）と関連付けて記憶された２以上の学習モデルの構造が類似している場合、例えば、各重みパラメータの値が予め定めた所定の閾値内にある場合に、これらの学習モデルに関連付けられている数値制御部１００が制御する機械の個体差の条件（の組み合わせ）を統合した上で、これに対応付けて構造が類似する２以上の学習モデルのいずれかを記憶するようにしても良い。
【００３３】
図４は、第２の実施形態による熱変位補正システム１の概略的な機能ブロック図である。本実施形態の熱変位補正システム１では、各機能ブロックを１台の数値制御装置２に実装している。このように構成することで、本実施形態の熱変位補正システム１は、数値制御装置２が制御する機械の個体差に応じて異なる学習モデルを用いて数値制御部１００が制御する機械の各軸の熱変位補正量を推論し、その推論結果に基づいて機械の各軸の熱変位補正を行なう。また、１台の数値制御装置２で、数値制御部１００が制御する機械の個体差の条件に応じたそれぞれの学習モデルを生成／更新することができる。
【００３４】
図５は、第３の実施形態による熱変位補正システム１の概略的な機能ブロック図である。本実施形態の熱変位補正システム１では、数値制御部１００、推論処理部２００、及び補正実施部４００を数値制御装置２の上に実装し、また、学習モデル記憶部３００及び学習モデル生成部５００を数値制御装置２と標準的なインタフェースやネットワークを介して接続された機械学習装置３の上に実装している。機械学習装置３は、セルコンピュータ、ホストコンピュータ、クラウドサーバ、データベースサーバ上に実装しても良い。このように構成することで、比較的軽い処理である学習済みのモデルを用いた推論処理は数値制御装置２の上で実行し、比較的重い処理である学習モデルの生成／更新の処理を機械学習装置３の上で実行することができるため、数値制御装置２の本来の動作を妨げることなく熱変位補正システム１の運用を行うことができる。
【００３５】
図６は、第４の実施形態による熱変位補正システム１の概略的な機能ブロック図である。本実施形態の熱変位補正システム１では、数値制御部１００を数値制御装置２の上に実装し、推論計算部２２０、学習モデル記憶部３００、学習モデル生成部５００を数値制御装置２と標準的なインタフェースやネットワークを介して接続された機械学習装置３の上に実装している。また、別途、補正実施部４００を用意している。なお、本実施形態の熱変位補正システム１では、状態量検出部１４０が検出する状態量をそのまま推論計算部２２０による推論処理や学習モデル生成部５００による学習モデルの生成／更新処理に用いることができるデータであるものと想定して、特徴量作成部２１０の構成を省略している。このように構成することで、学習済みのモデルを用いた推論処理及び学習モデルの生成／更新の処理を機械学習装置３の上で実行することができるため、数値制御装置２の本来の動作を妨げることなく熱変位補正システム１の運用を行うことができる。
【００３６】
図７は、第５の実施形態による熱変位補正システム１の概略的な機能ブロック図である。本実施形態の熱変位補正システム１では、各機能ブロックを１台の数値制御装置２の上に実装している。なお、本実施形態の熱変位補正システム１では、学習モデル記憶部３００には数値制御部１００が制御する機械の個体差の条件の組み合わせに関連付けられた複数の学習済みの学習モデルが既に記憶されており、学習モデルの生成／更新を行なわないと想定して、学習モデル生成部５００の構成を省略している。このように構成することで、本実施形態の熱変位補正システム１は、例えば数値制御装置２が制御する機械の個体差に応じて異なる学習モデルを用いて数値制御部１００が制御する機械の各軸の熱変位補正量を推論し、その推論結果に基づいて機械の各軸の熱変位補正を行なう。また、勝手な学習モデルの更新は行われないので、例えば顧客に対して出荷される数値制御装置２の構成として採用することができる。
【００３７】
図８は、第５の実施形態による熱変位補正システム１の変形例を示す概略的な機能ブロック図である。本実施形態の熱変位補正システム１では、第５の実施形態において学習モデル記憶部３００を数値制御装置２に接続された外部ストレージ４に実装した例である。本変形例では、容量の大きい学習モデルを外部ストレージ４に記憶することで、多くの学習モデルを利用することが可能となると共に、ネットワーク等を介することなく学習モデルの読み出しができるため、推論処理にリアルタイム性を必要とする場合に有効である。
【００３８】
図９は、第６の実施形態による熱変位補正システム１の概略的な機能ブロック図である。本実施形態の熱変位補正システム１では、数値制御部１００を数値制御装置２の上に実装し、推論計算部２２０、学習モデル記憶部３００を数値制御装置２と標準的なインタフェースやネットワークを介して接続された機械学習装置３の上に実装している。機械学習装置３は、セルコンピュータ、ホストコンピュータ、クラウドサーバ、データベースサーバ上に実装しても良い。なお、本実施形態の熱変位補正システム１では、学習モデル記憶部３００には数値制御部１００が制御する機械の個体差の条件の組み合わせに関連付けられた複数の学習済みの学習モデルが既に記憶されており、学習モデルの生成／更新を行なわないと想定して、学習モデル生成部５００の構成を省略している。また、本実施形態の熱変位補正システム１では、状態量検出部１４０が検出する状態量をそのまま推論計算部２２０による推論処理に用いることができるデータであるものと想定して、特徴量作成部２１０の構成を省略している。このように構成することで、本実施形態の熱変位補正システム１は、例えば数値制御装置２が制御する機械の個体差に応じて異なる学習モデルを用いて数値制御部１００が制御する機械の各軸の熱変位補正量を推論し、その推論結果に基づいて機械の各軸の熱変位補正を行なう。また、勝手な学習モデルの更新は行われないので、例えば顧客に対して出荷される数値制御装置２の構成として採用することができる。
【００３９】
図１０は、本発明の熱変位補正システム１で実行される処理の概略的なフローチャートである。図１０に示すフローチャートは、熱変位補正システム１における学習モデルの更新が行われない場合（第５，６の実施形態）の処理の流れを例示している。
●［ステップＳＡ０１］条件指定部１１０は、数値制御部１００が制御する機械の個体差の条件を指定する。
●［ステップＳＡ０２］状態量検出部１４０は、数値制御部１００が制御する機械の状態を状態量として検出する。
【００４０】
●［ステップＳＡ０３］特徴量作成部２１０は、ステップＳＡ０２で検出された状態量に基づいて、数値制御部１００が制御する機械の熱状態の特徴を示す特徴量を作成する。
●［ステップＳＡ０４］推論計算部２２０は、ステップＳＡ０１で指定された数値制御部１００が制御する機械の個体差の条件に対応する学習モデルを推論に使用する学習モデルとして学習モデル記憶部３００から選択して読み出す。
●［ステップＳＡ０５］推論計算部２２０は、ステップＳＡ０４で読み出した学習モデルとステップＳＡ０３で作成された特徴量とに基づいて数値制御部１００が制御する機械の各軸の熱変位補正量を推論する。
●［ステップＳＡ０６］補正実施部４００は、ステップＳＡ０５において推論された機械の各軸の熱変位補正量に基づいて熱変位補正を行なう。
【００４１】
図１１は、本発明の熱変位補正システム１で実行される処理の概略的なフローチャートである。図１１に示すフローチャートは、熱変位補正システム１における学習モデルの生成・更新が行われる場合（第１〜４の実施形態）の処理の流れを例示している。
●［ステップＳＢ０１］条件指定部１１０は、数値制御部１００が制御する機械の個体差の条件を指定する。
●［ステップＳＢ０２］状態量検出部１４０は、数値制御部１００が制御する機械の状態を状態量として検出する。
【００４２】
●［ステップＳＢ０３］特徴量作成部２１０は、ステップＳＢ０２で検出された状態量に基づいて、数値制御部１００が制御する機械の熱状態の特徴を示す特徴量を作成する。
●［ステップＳＢ０４］推論計算部２２０は、ステップＳＢ０１で指定された数値制御部１００が制御する機械の個体差の条件に対応する学習モデルを推論に使用する学習モデルとして学習モデル記憶部３００から選択して読み出す。
【００４３】
●［ステップＳＢ０５］学習モデル生成部５００は、学習モデル記憶部３００にステップＳＢ０１で指定された数値制御部１００が制御する機械の個体差の条件に対応する学習済みの学習モデルが生成されているか否かを判定する。学習済みの学習モデルが生成されている場合にはステップＳＢ０７へ処理を移行し、学習済みの学習モデルが生成されていない場合にはステップＳＢ０６へ処理を移行する。
●［ステップＳＢ０６］学習モデル生成部５００は、ステップＳＢ０３で作成された特徴量に基づいて、ステップＳＢ０１で指定された数値制御部１００が制御する機械の個体差の条件に対応する学習モデルの生成・更新を行ない、ステップＳＢ０１へ処理を移行する。
【００４４】
●［ステップＳＢ０７］推論計算部２２０は、ステップＳＢ０４で読み出した学習モデルとステップＳＢ０３で作成された特徴量とに基づいて数値制御部１００が制御する機械の各軸の熱変位補正量を推論する。
●［ステップＳＢ０８］補正実施部４００は、ステップＳＢ０７において推論された機械の各軸の熱変位補正量に基づいて熱変位補正を行なう。
【００４５】
図１２は本発明の一実施形態による数値制御装置及び機械学習装置の要部を示す概略的なハードウェア構成図である。本実施形態による数値制御装置２が備えるＣＰＵ１１は、数値制御装置２を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って数値制御装置２全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００４６】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、数値制御装置２の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、インタフェース１５を介して読み込まれた加工プログラムや後述する表示器／ＭＤＩユニット７０を介して入力された加工プログラムなどが記憶されている。不揮発性メモリ１４に記憶された繰返し制御に係る加工プログラムは、利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、数値制御装置２の動作に必要な各種のシステム・プログラム（後述する機械学習装置３とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００４７】
インタフェース１５は、数値制御装置２とアダプタ等の外部機器７２と接続するためのインタフェースである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置２内で編集した繰返し制御に係るプログラムや各種パラメータ等は、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置２に内蔵されたシーケンス・プログラムで加工機の周辺装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、機械の本体に配備された操作盤の各種スイッチ等やセンサからの信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００４８】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤７１に接続されている。
表示器／ＭＤＩユニット７０には機械の熱変位状態を示す推論評価値の即値や履歴を表示することもできる。提案されるシステムの実現形態としては、しきい値判定方式、トレンドグラフ判定方式、外れ検知方式など種々の方法で最終結果を得ることができるが、その結果が得られる過程の一部が可視化されることによって、工作機械を実際に生産現場で運転している作業者にとっての工業上の直観に一致した結果を与えることができるようになる。
【００４９】
工作機械が備える軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、加工機が備える軸を移動させるモータ１２０を駆動する。軸のモータ１２０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１２のハードウェア構成図では軸制御回路３０、サーボアンプ４０、モータ１２０は１つずつしか示されていないが、実際には制御対象となる加工機に備えられた軸の数だけ用意される。
【００５０】
インタフェース２１は、数値制御装置２と機械学習装置３とを接続するためのインタフェースである。機械学習装置３は、機械学習装置３全体を統御するプロセッサ８０と、システム・プログラム等を記憶したＲＯＭ８１、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ８２、及び学習モデル等の記憶に用いられる不揮発性メモリ８３を備える。機械学習装置３は、インタフェース８４及びインタフェース２１を介して数値制御装置２との間で各種データのやり取りを行なう。
【００５１】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【符号の説明】
【００５２】
１  熱変位補正システム
２  数値制御装置
３  機械学習装置
４  外部ストレージ
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５，１８，１９，２１  インタフェース
１７  Ｉ／Ｏユニット
２０  バス
３０  軸制御回路
４０  サーボアンプ
７０  表示器／ＭＤＩユニット
７１  操作盤
７２  外部機器
８０  プロセッサ
８１  ＲＯＭ
８２  ＲＡＭ
８３  不揮発性メモリ
８４  インタフェース
１００  数値制御部
１１０  条件指定部
１２０  モータ
１３０  機構部
１４０  状態量検出部
２００  推論処理部
２１０  特徴量作成部
２２０  推論計算部
３００  学習モデル記憶部
４００  補正実施部
５００  学習モデル生成部
【図１】
2019063960.tif 000003
【図２】
2019063960.tif 000004
【図３】
2019063960.tif 000005
【図４】
2019063960.tif 000006
【図５】
2019063960.tif 000007
【図６】
2019063960.tif 000008
【図７】
2019063960.tif 000009
【図８】
2019063960.tif 000010
【図９】
2019063960.tif 000011
【図１０】
2019063960.tif 000012
【図１１】
2019063960.tif 000013
【図１２】
2019063960.tif 000014