(57)【要約】【課題】機械要素の動作状態に基づいて機械要素の熱変位量を推定する計算式を最適化できる機械学習装置を提供する。【解決手段】データ取得部２０２は、機械要素の動作状態データを取得する。熱変位量取得部２０３は、機械要素の熱変位量の実測値を取得する。記憶部２０４は、機械要素の動作状態データおよび機械要素の熱変位量の実測値をラベルとして互いに関連付けて教師データとして記憶する。計算式設定部２０５は、機械要素の動作状態データに基づいて機械要素の熱変位量を算出する計算式を設定する。熱変位量算出部２０６は、この計算式に機械要素の動作状態データを代入して、機械要素の熱変位量の推定値を算出する。判定部２０７は、熱変位量算出部２０６によって算出された機械要素の熱変位量の推定値と、熱変位量取得部２０３によって取得された機械要素の熱変位量の実測値との差異が、所定の閾値以下であるか否かを判定する。【選択図】図５
2018111145.tif 000002
【特許請求の範囲】
【請求項１】
熱膨張する機械要素を有する工作機械の前記機械要素の動作状態を表す動作状態データに基づいて前記機械要素の熱変位量を推定する計算式を機械学習によって最適化する機械学習装置であって、
前記機械要素の動作状態データを取得するデータ取得手段と、
前記機械要素の熱変位量の実測値を取得する熱変位量取得手段と、
前記データ取得手段によって取得された前記機械要素の動作状態データおよび前記熱変位量取得手段によって取得された前記機械要素の熱変位量の実測値をラベルとして互いに関連付けて教師データとして記憶する記憶手段と、
前記機械要素の動作状態データおよび前記機械要素の熱変位量の実測値に基づいて機械学習を行うことで、前記機械要素の熱変位量を算出する計算式を設定する計算式設定手段と、
前記計算式設定手段によって設定された計算式に前記記憶手段に教師データとして記憶された所定期間内における前記機械要素の動作状態データを代入して、前記機械要素の熱変位量の推定値を算出する熱変位量算出手段と、
前記熱変位量算出手段によって算出された前記所定期間内における前記機械要素の熱変位量の推定値と前記記憶手段に教師データとして記憶された前記所定期間内における前記機械要素の熱変位量の実測値との差異が、所定の閾値以下であるか否かを判定する判定手段と、を備え、
前記計算式設定手段は、前記判定手段によって前記差異が所定の閾値以下でないと判定された場合に、前記計算式を再設定するとともに、前記判定手段によって前記差異が所定の閾値以下であると判定された場合に、この計算式を最適なものとして設定する機械学習装置。
【請求項２】
前記機械要素は、前記工作機械の送り軸および主軸部を含み、
前記機械要素の動作状態は、前記工作機械の動作時における前記送り軸の位置、速度、温度のうち少なくとも一つ、前記主軸部の速度、負荷、温度のうち少なくとも一つを含む請求項１に記載の機械学習装置。
【請求項３】
前記計算式設定手段は、予め設定される所定の計算式における係数を設定する請求項１又は請求項２に記載の機械学習装置。
【請求項４】
前記データ取得手段は、前記工作機械を制御する制御装置から前記機械要素の所定のサンプリング時間毎の動作状態データを取得する請求項１から請求項３のいずれか１項に記載の機械学習装置。
【請求項５】
前記熱変位量取得手段は、前記工作機械の加工位置の近傍で所定時間間隔毎に測定された前記機械要素の熱変位量の実測値を取得する請求項１から請求項４のいずれか１項に記載の機械学習装置。
【請求項６】
請求項１から請求項５のいずれか１項に記載の機械学習装置により最適化された計算式に基づいて、前記機械要素の動作状態データから算出される前記機械要素の熱変位量に対応する補正量を算出する補正量算出手段と、
前記補正量算出手段によって算出された前記機械要素の補正量に基づき、前記機械要素の機械位置を補正する補正実行手段と、
を備えている工作機械の熱変位補正装置。
【請求項７】
前記熱変位補正装置は、前記工作機械の制御装置に含まれる請求項６に記載の熱変位補正装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マシニングセンタなどの工作機械に適用される機械学習装置および熱変位補正装置に関する。
【背景技術】
【０００２】
従来、工作機械の発熱による熱変位を補正する技術としては、変位センサや温度センサを使用せずに簡易に低コストで補正する技術が提案されている（例えば、特許文献１、２参照）。
【０００３】
これらの技術では、センサを使用しないため、センサを設置するための位置や構造、切粉や切削液からセンサを保護する手段、センサが故障した場合の信頼性の確保などの問題を考慮する必要がないという利点がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３４０５９６５号公報
【特許文献２】特許第５９５６４９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
様々な種類の加工に対して精度良く熱変位を補正するためには、熱変位量を算出する計算式を確立するべく、様々な条件で実験を繰り返して膨大なデータを取得し、それらのデータをもとに計算式を確立する必要がある。これには膨大な時間が掛かるうえ、どのような種類の加工に対しても精度良く補正できるとは限らない。
【０００６】
特許文献１、２に記載された技術では、ある動作状態（加工条件や周囲温度など）で測定したデータに基づいて計算式を決定している。そのため、その動作状態と異なる動作状態では、必ずしも正確な熱変位量を算出できるとは限らない。なお、補正誤差を用いて計算式の発熱係数を修正することが開示されているが、計算式には他にも係数（放熱係数や隣接区間からの熱伝導を算出する熱伝導係数）が含まれるため、補正精度をさらに向上させるには、発熱係数を修正しただけでは不十分な場合がある。
【０００７】
本発明は、このような事情に鑑み、様々な種類の加工に対して精度良く熱変位を補正できるようにするため、加工時または機械動作時の機械要素の動作状態に基づいて機械要素の熱変位量を推定する計算式を機械学習を繰り返すことにより最適化する機械学習装置と、この機械学習により最適化された計算式を利用して各機械要素の機械位置の熱変位補正を適正に行うことが可能な熱変位補正装置とを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る機械学習装置（例えば、後述の機械学習装置２００）は、熱膨張する機械要素（例えば、後述のベッド２、コラム３、送り軸４、ワークテーブル５、主軸取付台６、主軸部７）を有する工作機械（例えば、後述のマシニングセンタ１５０）の前記機械要素の動作状態を表す動作状態データに基づいて前記機械要素の熱変位量を推定する計算式を機械学習によって最適化する機械学習装置であって、前記機械要素の動作状態データを取得するデータ取得手段（例えば、後述のデータ取得部２０２）と、前記機械要素の熱変位量の実測値を取得する熱変位量取得手段（例えば、後述の熱変位量取得部２０３）と、前記データ取得手段によって取得された前記機械要素の動作状態データおよび前記熱変位量取得手段によって取得された前記機械要素の熱変位量の実測値をラベルとして互いに関連付けて教師データとして記憶する記憶手段（例えば、後述の記憶部２０４）と、前記機械要素の動作状態データ及び前記機械要素の熱変位量の実測値に基づいて機械学習を行うことで、前記機械要素の熱変位量を算出する計算式を設定する計算式設定手段（例えば、後述の計算式設定部２０５）と、前記計算式設定手段によって設定された計算式に前記記憶手段に教師データとして記憶された所定期間内における前記機械要素の動作状態データを代入して、前記機械要素の熱変位量の推定値を算出する熱変位量算出手段（例えば、後述の熱変位量算出部２０６）と、前記熱変位量算出手段によって算出された前記所定期間内における前記機械要素の熱変位量の推定値と前記記憶手段に教師データとして記憶された前記所定期間内における前記機械要素の熱変位量の実測値との差異が、所定の閾値以下であるか否かを判定する判定手段（例えば、後述の判定部２０７）と、を備え、前記計算式設定手段は、前記判定手段によって前記差異が所定の閾値以下でないと判定された場合に、前記計算式を再設定し、前記判定手段によって前記差異が所定の閾値以下であると判定された場合に、この計算式を最適なものとして設定する。
【０００９】
前記機械要素は、前記工作機械の送り軸（例えば、後述の送り軸４）および主軸部（例えば、後述の主軸部７）を含み、前記機械要素の動作状態は、前記工作機械の動作時における前記送り軸の位置、速度、温度のうち少なくとも一つ、前記主軸部の速度、負荷、温度のうち少なくとも一つを含んでもよい。
【００１０】
前記計算式設定手段は、予め設定される所定の計算式における係数を設定してもよい。
【００１１】
前記データ取得手段は、前記工作機械を制御する制御装置（例えば、後述の数値制御装置１００）から前記機械要素の所定のサンプリング時間毎の動作状態データを取得してもよい。
【００１２】
前記熱変位量取得手段は、前記工作機械の加工位置の近傍で所定時間間隔毎に測定された前記機械要素の熱変位量の実測値を取得してもよい。
【００１３】
本発明に係る工作機械の熱変位補正装置（例えば、後述の熱変位補正装置３００）は、上記機械学習装置により最適化された計算式に基づいて、前記機械要素の動作状態データから算出される前記機械要素の熱変位量に対応する補正量を算出する補正量算出手段（例えば、後述の補正量算出部３０１）と、前記補正量算出手段によって算出された前記機械要素の補正量に基づき、前記機械要素の機械位置を補正する補正実行手段（例えば、後述の補正実行部３０２）と、を備えている。
【００１４】
前記熱変位補正装置は、前記工作機械の制御装置に含まれてもよい。
【発明の効果】
【００１５】
本発明によれば、工作機械において、機械要素の動作状態データと機械要素の熱変位量の実測値とが関連付けられた教師データを用いて、機械学習（教師あり学習）を繰り返すことにより、機械要素の熱変位量を推定する計算式を最適化することができる。その結果、様々な種類の加工に対して精度良く熱変位を補正することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態に係る熱変位補正システムを示すブロック図である。
【図２】本発明の第１実施形態に係る熱変位補正装置の詳細を示すブロック図である。
【図３Ａ】本発明の第１実施形態に係るマシニングセンタの正面図である。
【図３Ｂ】本発明の第１実施形態に係るマシニングセンタの右側面図である。
【図４】本発明の第１実施形態に係るマシニングセンタの数値制御装置の要部を示すブロック図である。
【図５】本発明の第１実施形態に係るマシニングセンタの機械学習装置の制御系を示すブロック図である。
【図６】本発明の第１実施形態に係るマシニングセンタの機械学習装置の処理を示すフローチャートである。
【図７】本発明の第１実施形態に係るマシニングセンタの送り軸が熱変位する仕組みを説明する図である。
【図８】本発明の第１実施形態に係るマシニングセンタの送り軸の熱変位量を推定する方法を示す模式図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態を図面に基づいて説明する。
【００１８】
［第１実施形態］
図１は、第１実施形態に係る熱変位補正システムを示すブロック図である。図２は、第１実施形態に係る熱変位補正装置の詳細を示すブロック図である。図３Ａ、図３Ｂは、それぞれ、第１実施形態に係るマシニングセンタの正面図、右側面図である。図４は、第１実施形態に係るマシニングセンタの数値制御装置の要部を示すブロック図である。図５は、第１実施形態に係るマシニングセンタの機械学習装置の制御系を示すブロック図である。
【００１９】
以下、熱変位補正システム１０００全体の構成について説明した後、この熱変位補正システム１０００を構成する各装置（マシニングセンタ１５０、数値制御装置１００、機械学習装置２００、熱変位補正装置３００）について順に説明する。
【００２０】
＜熱変位補正システム１０００の構成＞
まず、本実施形態に係る熱変位補正システム１０００の構成について説明する。熱変位補正システム１０００は、図１に示すように、ｎ台の数値制御装置１００、ｎ台の工作機械としてのマシニングセンタ１５０、機械学習装置２００、ｎ台の熱変位補正装置３００およびネットワーク４００を備えている。なお、ｎは任意の自然数である。
【００２１】
ここで、数値制御装置１００とマシニングセンタ１５０とは１対１の組とされて、通信可能に接続されている。これら数値制御装置１００とマシニングセンタ１５０の組は、例えば同じ工場に複数組設置されていてもよく、それぞれ異なる工場に設置されていてもよい。
【００２２】
また、マシニングセンタ１５０と、機械学習装置２００と、熱変位補正装置３００とは、それぞれネットワーク４００に接続されており、ネットワーク４００を介して相互に通信を行うことが可能である。ネットワーク４００は、例えば、工場内に構築されたＬＡＮ（Local Area Network）や、インターネット、公衆電話網、或いは、これらの組み合わせである。ネットワーク４００における具体的な通信方式や、有線接続および無線接続のいずれであるか等については、特に限定されない。なお、熱変位補正装置３００は、ネットワーク４００を介して数値制御装置１００に接続されるのみならず、数値制御装置１００に直接（つまり、ネットワーク４００を介さずに）接続されてもよい。この場合、熱変位補正装置３００は、数値制御装置１００に含まれていてもよい。
【００２３】
次に、熱変位補正システム１０００に含まれるこれら装置の機能について、図２に基づいて説明する。ここで、図２は、各装置に含まれる機能ブロックを表すブロック図である。なお、各数値制御装置１００はそれぞれ同等の機能を有しているため、図２では１台のみを図示する。同様に、各マシニングセンタ１５０や各熱変位補正装置３００もそれぞれ同等の機能を有しているため、図２では１台のみを図示する。また、各装置間に存在するネットワーク４００については、その図示を省略する。
【００２４】
＜マシニングセンタ１５０の構成＞
マシニングセンタ１５０は、図３Ａ、図３Ｂに示すように、ベッド２、コラム３、送り軸４、ワークテーブル５、主軸取付台６、主軸部７など複数の機械要素から構成されている。なお、送り軸４は、Ｘ軸方向（図３Ａ左右方向）の送り軸４Ｘ、Ｙ軸方向（図３Ｂ左右方向）の送り軸４Ｙ、Ｚ軸方向（図３Ａ上下方向）の送り軸４Ｚの３種類がある。
【００２５】
ここで、ベッド２の上方には、図３Ａ、図３Ｂに示すように、Ｘ軸方向の送り軸４ＸおよびＹ軸方向の送り軸４Ｙが設けられており、これらの送り軸４Ｘ、４Ｙにより、ワーク（被加工物）Ｗが搭載された水平なワークテーブル５を水平方向（Ｘ軸方向およびＹ軸方向）に移動させることができるように構成されている。すなわち、Ｘ軸方向の送り軸４Ｘは、Ｘ軸ボールねじ４５ＸおよびＸ軸モータ４６Ｘから構成されている。そして、Ｘ軸モータ４６Ｘを駆動してＸ軸ボールねじ４５Ｘを回転させることにより、ワークテーブル５をＸ軸方向に移動させることができる。一方、Ｙ軸方向の送り軸４Ｙは、Ｙ軸ボールねじ４５ＹおよびＹ軸モータ４６Ｙから構成されている。そして、Ｙ軸モータ４６Ｙを駆動してＹ軸ボールねじ４５Ｙを回転させることにより、ワークテーブル５をＹ軸方向に移動に移動させることができる。
【００２６】
また、ベッド２の上側にはコラム３が立設されている。コラム３の前面部には、Ｚ軸方向の送り軸４Ｚが設けられており、この送り軸４Ｚにより、主軸取付台６を垂直方向（Ｚ軸方向）に移動させることができるように構成されている。すなわち、Ｚ軸方向の送り軸４Ｚは、Ｚ軸ボールねじ４５ＺおよびＺ軸モータ４６Ｚから構成されている。そして、Ｚ軸モータ４６Ｚを駆動してＺ軸ボールねじ４５Ｚを回転させることにより、主軸取付台６を上下方向（Ｚ軸方向）に移動させることができる。
【００２７】
さらに、主軸取付台６には主軸部７が設けられている。主軸部７は、主軸７５および主軸モータ７６から構成されている。そして、主軸モータ７６を駆動して主軸７５を回転させることができる。主軸７５は、ワークテーブル５の上方に位置しており、主軸７５の下端部には工具７７を装着することができる。
【００２８】
＜ワークＷの穴あけ加工＞
次に、マシニングセンタ１５０を用いて、ワークＷの穴あけ加工（ドリル加工）を行う手順について説明する。なお、この穴あけ加工は、オペレータによる工具７７の装着動作およびワークＷの載置動作を除き、数値制御装置１００からの指令に基づいて実行される。
【００２９】
まず、オペレータは、図３Ａ、図３Ｂに示すように、マシニングセンタ１５０の主軸７５に工具７７を装着するとともに、ワークテーブル５上にワークＷを載置して固定する。
【００３０】
次に、ワークテーブル５を水平方向（Ｘ軸方向およびＹ軸方向）に適宜移動させることにより、ワークＷの加工部位を工具７７の真下に位置決めする。この状態で、主軸７５を回転させて工具７７を回転させるとともに、主軸取付台６を上下方向（Ｚ軸方向）に適宜移動させることにより、ワークＷの加工部位に対して穴あけ加工を行う。
【００３１】
こうしたワークＷの穴あけ加工に伴い、マシニングセンタ１５０では、３種類の送り軸４（４Ｘ、４Ｙ、４Ｚ）および主軸部７で発熱が生じる。この発熱の原因としては、主に、図７に示すように、ボールねじ４５（Ｘ軸ボールねじ４５Ｘ、Ｙ軸ボールねじ４５Ｙ、Ｚ軸ボールねじ４５Ｚ）とナット４７との摩擦や、主軸モータ７６の回転、主軸７５の軸受部７８の摩擦などが考えられる。こうした発熱が生じると、機械要素が熱膨張するため、ボールねじ４５が軸方向に伸びたり、主軸部７が傾いたりする。その結果、ワークＷの加工部位と工具７７との相対位置がずれて、加工精度が低下する恐れがある。
【００３２】
このため、ワークＷの穴あけ加工に際しては、機械位置を補正するために、３種類の送り軸４（４Ｘ、４Ｙ、４Ｚ）および主軸部７による熱変位量を求めるための所定の熱変位量算出計算式（以下、「計算式」ともいう）が知られている。この計算式については、特許文献１及び特許文献２に詳細に開示されている。
これらの計算式は、マシニングセンタ１５０の動作時における送り軸４の位置、速度、温度、主軸部７の速度、負荷、温度等の動作状態データを入力として、所定の係数による積算又はべき乗等により熱変位量を算出する。
【００３３】
計算式を用いて熱変位量を算出するために、マシニングセンタ１５０は、各種のセンサ（図示せず）により、各機械要素（送り軸４（４Ｘ、４Ｙ、４Ｚ）および主軸部７）の動作状態（例えば、マシニングセンタ１５０の動作時（加工時または空運転時）における送り軸４の位置、速度、温度、主軸部７の速度、負荷、温度など）を計測するように構成される。そうすることで、これらの動作状態データを計算式に入力することで、各機械要素における熱変位量を算出することができる。なお、計算式の具体的な説明は後述する。
さらに、マシニングセンタ１５０は、各種の変位測定器（図示せず）により、各機械要素の熱変位量を計測するように構成される。
【００３４】
より具体的には、マシニングセンタ１５０は、各種のセンサ（図示せず）により、所定のサンプリング時間毎に、各機械要素の動作状態（具体的には、マシニングセンタ１５０の動作時（加工時または空運転時）における送り軸４の位置、速度、温度、主軸部７の速度、負荷、温度など）を測定する。さらに、マシニングセンタ１５０は、一定時間毎に、各機械要素の熱変位量（実測値）を測定する。なお、この熱変位量の測定部位は、例えば、マシニングセンタ１５０の加工位置（工具７７の先端部）の近傍が望ましい。また、この熱変位量の測定方法は特に限定されず、タッチプローブによる機内計測や、加工したワークＷの測定などを採用することができる。
【００３５】
＜数値制御装置１００の構成＞
マシニングセンタ１５０には、制御装置としての数値制御装置１００が組み込まれている。数値制御装置１００のＣＰＵ１１は、図４に示すように、数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、このシステムプログラムに従って数値制御装置１００全体を制御する。ＲＡＭ１３には、一時的な計算データや表示データおよび表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データが格納される。
【００３６】
ＣＭＯＳメモリ１４は、図示しないバッテリでバックアップされ、数値制御装置１００の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インタフェース１５を介して読み込まれた加工プログラムや表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。ＲＯＭ１２には、加工プログラムの作成および編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムが予め書き込まれている。加工プログラム等の各種加工プログラムはインタフェース１５や表示器／ＭＤＩユニット７０を介して入力し、ＣＭＯＳメモリ１４に格納することができる。
【００３７】
インタフェース１５は、数値制御装置１００とアダプタ等の外部機器７２との接続を可能とするものである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１００内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。
【００３８】
ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１００に内蔵されたシーケンスプログラムでマシニングセンタ１５０の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、マシニングセンタ１５０に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００３９】
表示器／ＭＤＩユニット７０は、ディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令やデータを受けてＣＰＵ１１に渡す。インタフェース１９は、手動パルス発生器等を備えた操作盤７１に接続されている。各軸の軸制御回路３０〜３４は、ＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４４に出力する。
【００４０】
サーボアンプ４０〜４４はこの指令を受けて、各軸のサーボモータ５０〜５４を駆動する。各軸のサーボモータ５０〜５４は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３４にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
【００４１】
スピンドル制御回路６０は、マシニングセンタ１５０への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、マシニングセンタ１５０の主軸モータ７６を指令された回転速度で回転させ、工具を駆動する。
【００４２】
主軸モータ７６には、歯車あるいはベルト等でパルスエンコーダ６３が結合され、パルスエンコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはバス２０を経由してＣＰＵ１１によって読み取られる。
【００４３】
また、数値制御装置１００は、マシニングセンタ１５０が所定のサンプリング時間毎に測定した各機械要素の動作状態を表す動作状態データを取得する。さらに、数値制御装置１００は、マシニングセンタ１５０が一定時間毎に測定した各機械要素の熱変位量を取得する。
【００４４】
＜機械学習装置２００の構成＞
本実施形態における機械学習装置２００は、特許文献１および特許文献２に開示された計算式の係数を教師データに基づいて、学習するものである。
【００４５】
図５に機械学習装置２００の機能ブロック図を示す。機械学習装置２００は、図５に示すように、主制御部２０１を有している。主制御部２０１には、データ取得手段としてのデータ取得部２０２、熱変位量取得手段としての熱変位量取得部２０３、記憶手段としての記憶部２０４、計算式設定手段としての計算式設定部２０５、熱変位量算出手段としての熱変位量算出部２０６、判定手段としての判定部２０７が接続されている。
【００４６】
データ取得部２０２は、数値制御装置１００から、機械要素の動作状態データを入力データとして取得する。
【００４７】
熱変位量取得部２０３は、数値制御装置１００から、機械要素の熱変位量の実測値を入力データとして取得する。
【００４８】
記憶部２０４は、データ取得部２０２によって数値制御装置１００から取得されたサンプリング時間毎の機械要素の動作状態データおよび熱変位量取得部２０３によって数値制御装置１００から取得された一定時間毎の機械要素の熱変位量の実測値をラベルとして互いに関連付けて教師データとして記憶する。
【００４９】
計算式設定部２０５は、機械要素の動作状態データ及び機械要素の熱変位量の実測値に基づいて例えば、最小自乗法などの公知の手法を含む機械学習を行うことで、機械要素の動作状態データに基づいて機械要素の熱変位量を算出する計算式における係数を設定する。その後、計算式設定部２０５は、後述する判定部２０７の判定結果に基づいて、この計算式に含まれる係数を再度機械学習を行うことで、計算式をより最適化する。
【００５０】
すなわち、計算式設定部２０５は、後述する判定部２０７からの判定結果が否である場合（すなわち、事前に設定された係数を備える計算式によって算出される所定期間内における機械要素の熱変位量の推定値と機械要素の熱変位量の実測値との差異が所定の閾値を超える場合）、例えば、再度最小自乗法などの公知の手法を含む機械学習を行うことで、それまでに設定された係数とは異なる係数を再設定する。一方、後述する判定部２０７からの判定結果が可である場合（すなわち、事前に設定された係数を備える計算式によって算出される機械要素の熱変位量の推定値と機械要素の熱変位量の実測値との差異が所定の閾値以下の場合）、計算式設定部２０５は、当該係数を最適なものとして設定する。こうすることで、計算式設定部２０５は、計算式を最適化することができる。
【００５１】
熱変位量算出部２０６は、計算式設定部２０５によって設定された計算式に、記憶部２０４に教師データとして記憶された機械要素の動作状態データを代入して、機械要素の熱変位量の推定値を算出する。
【００５２】
より具体的には、熱変位量算出部２０６は、計算式に基づいて、記憶部２０４に教師データとして記憶された所定期間におけるサンプリング時間毎の機械要素の動作状態データを代入して、機械要素の熱変位量を算出する。このような算出処理を繰り返して行い、所定期間におけるサンプリング時間毎に算出された熱変位量を合計することで、マシニングセンタ１５０による所定期間における機械要素の熱変位量の推定値を算出する。
【００５３】
判定部２０７は、熱変位量算出部２０６によって算出された機械要素の熱変位量の推定値と、記憶部２０４に教師データとして記憶された機械要素の熱変位量の実測値との差異が、所定の閾値以下であるか否かを判定する。さらに、判定部２０７は、この判定結果（係数の可否）を計算式設定部２０５に通知する。
そうすることで、計算式設定部２０５は、判定部２０７によって差異が所定の閾値以下でないと判定された場合に、例えば、再度最小自乗法などの公知の手法を含む機械学習を行うことで、それまでに設定された係数とは異なる係数を再設定する。また、判定部２０７によって差異が所定の閾値以下であると判定された場合に、計算式設定部２０５は、この計算式を最適なものとして設定することができる。
【００５４】
＜熱変位補正装置３００の構成＞
熱変位補正装置３００は、図２に示すように、補正量算出手段としての補正量算出部３０１と、補正実行手段としての補正実行部３０２とを備える。補正量算出部３０１は、機械学習装置２００により最適化された計算式に基づいて、機械要素の動作状態データ（判定データ）から算出される機械要素の熱変位量に対応する補正量を算出する。補正実行部３０２は、補正量算出部３０１によって算出された機械要素の補正量に基づき、機械要素の機械位置を補正する。または、補正実行部３０２は、この機械要素の補正量を数値制御装置１００に送信する。
【００５５】
＜機械学習装置２００の処理フロー＞
次に、機械学習装置２００の処理フローについて、図６を参照しながら説明する。図６は、機械学習装置２００の処理を示すフローチャートである。
以下、マシニングセンタ１５０の機械要素である送り軸４、主軸部７の熱変位補正を行う場合に、機械学習装置２００の処理が具体的にどのように実施されるかについて説明する。
【００５６】
ステップＳ１においては、データ取得部２０２および熱変位量取得部２０３は、機械学習で用いる教師データとして、送り軸４、主軸部７の動作状態データおよび送り軸４、主軸部７の熱変位量の実測値を数値制御装置１００から取得する。その後、記憶部２０４は、これらの送り軸４、主軸部７の動作状態データおよび送り軸４、主軸部７の熱変位量の実測値をラベルとして互いに関連付けて教師データとして記憶する。
【００５７】
ステップＳ２においては、計算式設定部２０５は、所定期間Ａにおける機械要素（送り軸４及び主軸部７）の動作状態データ及び機械要素の熱変位量の実測値（教師データ）に基づいて、例えば最小自乗法などの公知の手法を含む機械学習を行うことで、機械要素の熱変位量を算出する計算式における係数を設定する。なお、計算式については後述する。
【００５８】
ステップＳ３においては、熱変位量算出部２０６は、計算式設定部２０５によって設定された計算式に、記憶部２０４に教師データとして記憶された所定期間Ｂにおける送り軸４、主軸部７の動作状態データを代入することにより、送り軸４、主軸部７の熱変位量の実測時点における送り軸４、主軸部７の熱変位量の推定値を算出する。
ここで、熱変位量算出部２０６が、所定期間Ｂにおける送り軸４及び主軸部７の熱変位量の推定値を算出するための計算式及び計算方法について概要を説明する。なお、計算式及び計算方法は、特許文献１及び特許文献２に記載のものに基づく。
【００５９】
送り軸４、主軸部７の熱変位量の推定値を算出する際には、下記のとおり、各軸方向（Ｘ軸方向、Ｙ軸方向、Ｚ軸方向）毎に考える。下記に示すようにＸ軸方向の熱変位量は、Ｘ軸方向の送り軸４ＸのＸ軸ボールねじ４５Ｘの伸び量である。また、Ｙ軸方向の熱変位量は、Ｙ軸方向の送り軸４ＹのＹ軸ボールねじ４５Ｙの伸び量に、主軸部７のＹ軸方向の熱変位量を加算したものである。さらに、Ｚ軸方向の熱変位量は、Ｚ軸方向の送り軸４ＺのＺ軸ボールねじ４５Ｚの伸び量に、主軸部７のＺ軸方向の熱変位量を加算したものである。ここで、Ｘ軸方向の熱変位量について、主軸部７のＸ軸方向の熱変位量を加算していないのは、図３Ａに示すように、主軸部７の構造がＸ軸方向に沿って左右対称であるため、主軸部７はＸ軸方向に熱変位しないと考えられるからである。
Ｘ軸方向の熱変位量＝Ｘ軸ボールねじの伸び量
Ｙ軸方向の熱変位量＝Ｙ軸ボールねじの伸び量＋主軸部のＹ軸方向の熱変位量
Ｚ軸方向の熱変位量＝Ｚ軸ボールねじの伸び量＋主軸部のＺ軸方向の熱変位量
【００６０】
また、Ｘ軸ボールねじ４５Ｘの伸び量については、図７に示すように、Ｘ軸モータ４６Ｘに接続された基部からナット４７と螺合する螺合部までの部分のみを対象とする。これは、螺合部から先の伸び量が、ワークテーブル５のＸ軸方向の移動、つまりワークテーブル５上のワークＷの位置決めに影響しないため、無視できるからである。このことは、Ｙ軸ボールねじ４５Ｙ、Ｚ軸ボールねじ４５Ｚの伸び量についても同様である。
【００６１】
次に、Ｘ軸方向の送り軸４Ｘの熱変位量を例として、熱変位量算出部２０６がＸ軸方向の送り軸４Ｘの熱変位量を算出するための計算式及び計算方法を説明する。
Ｘ軸方向の送り軸４Ｘの熱変位量を算出するために、図８に示すように、Ｘ軸ボールねじ４５Ｘを一次元モデルとして捉え、Ｘ軸ボールねじ４５Ｘをその軸方向に沿って所定の長さ（例えば、１０ｍｍ）で複数（図８では、ｍ個）の区間に分割する。そして、熱変位量算出部２０６は、各区間毎に、Ｘ軸ボールねじ４５Ｘの発熱および放熱、さらに、両側に隣接する区間からの影響（熱伝導）を考慮しつつ、その熱変位量を計算する。その後、熱変位量算出部２０６は、これらの区間毎の熱変位量の総和から、Ｘ軸ボールねじ４５Ｘ全体の熱変位量、すなわちＸ軸方向の送り軸４Ｘの熱変位量の推定値を算出する。
【００６２】
ここで、時刻ｎ（０≦ｎ）における区間ｉ（０≦ｉ≦ｍ）の熱変位量は、例えば、次の計算式（１）を用いて計算することができる。なお、この式は一例に過ぎず、他の式を用いて熱変位量を計算することも可能である。ここで、Ａ，Ｂ，Ｃ，ａ，ｂは最適化対象となる係数である。
δni  = δ(n-1)i +A×Vnia -B×δ(n-1)ib +C×{δ(n-1)i-1+δ(n-1)i+1-2×δ(n-1)i}・・（１）
δni：時刻nにおける区間 i の熱変位量
Vni：時刻nにおける区間 i の平均速度
【００６３】
時刻nにおけるＸ軸方向の熱変位量の推定値Ｌnｍは、上記の計算式（１）で表される各区間ｉ毎の熱変位量を区間０から区間ｍまで加算することにより、次の式（２）で表される。
Ｌnｍ＝δn0＋δn1＋…＋δnI＋…＋δnｍ・・（２）
【００６４】
このように、熱変位量算出部２０６は、式１及び式２に基づいて、所定期間ＢにおけるＸ軸方向の送り軸４Ｘの熱変位量を算出する。
【００６５】
なお、Ｙ軸方向の送り軸４Ｙ、Ｚ軸方向の送り軸４Ｚについても、その配置状況（ボールねじ４５の向き）がＸ軸方向の送り軸４Ｘと異なるのみであり、ここで説明した算出方法を同様に適用することができる。
【００６６】
また、主軸部７の熱変位量の推定値を算出する際には、例えば、特許文献２に開示されている公知の計算式及び計算手法を用いることができる。ここでは説明を省略する。
【００６７】
ステップＳ４においては、判定部２０７は、熱変位量算出部２０６によって算出された所定期間における送り軸４、主軸部７の熱変位量の推定値を熱変位量取得部２０３によって取得された所定期間における送り軸４、主軸部７の熱変位量の実測値と比較して、両者の差異を算出し、この差異が所定の閾値以下であるか否かを判定する。この判定がＮｏの場合（つまり、この差異が所定の閾値を超えている場合）には、この計算式が統計的に適正である確率は低いと考えられるので、ステップＳ２に戻る。一方、この判定がＹｅｓの場合（つまり、この差異が所定の閾値以下の場合）には、この計算式が統計的に適正である確率は高いと考えられるので、ステップＳ５に移行する。
【００６８】
ステップＳ５においては、計算式設定部２０５は、上記の計算式（１）における係数Ａ，Ｂ，Ｃ，ａ，ｂを最適なものとして設定する。これにより、計算式（１）を最適化することができる。
ここで、機械要素の動作状態データと機械要素の熱変位量との計算式を求める動作が終了する。
【００６９】
なお、ステップＳ２における所定期間ＡとステップＳ３における所定期間Ｂについて簡単に説明する。所定期間Ａと所定期間Ｂとは、一部重複してもよいし、また、重複しないようにしてもよい。ただし、ステップＳ４における判定がＮｏの場合にステップＳ２に移行した際の所定期間Ａ´については、直前のステップ３を実行した際の所定期間Ｂを含むようにすることが望ましい。
また、ステップＳ２において計算式が再設定され、ステップ３に移った際に、ステップ３における所定期間Ｂ´は、前回の所定期間Ｂを含むか、又は重複するようにすることが望ましい。
そうすることで、ステップＳ２で再設定された計算式が、前回の判定でＮｏとされた所定期間Ｂについても差異が閾値以下となることを再確認することが可能となる。
【００７０】
［変形例］
ステップＳ４での判定がＹｅｓの場合に、直ちにステップＳ５に移行するのではなく、記憶部２０４に記憶された全ての教師データを学習したか否かを判定し、この判定がＮｏの場合（つまり、全ての教師データを学習していない場合）に、ステップＳ２に戻って、機械学習による計算式（すなわち、係数）の算出動作を繰り返すとともに、この判定がＹｅｓの場合（つまり、全ての教師データを学習した場合）に、はじめてステップＳ５に移行するようにしてもよい。
【００７１】
＜熱変位補正装置３００の処理フロー＞
熱変位補正装置３００は、最新の計算式に基づいて、機械要素の熱変位をリアルタイムで補正する。それには、まず、補正量算出部３０１は機械学習装置２００により最適化された計算式に基づいて、機械要素の動作状態データから算出される機械要素の熱変位量に対応する補正量を算出する。次いで、補正実行部３０２は、補正量算出部３０１によって算出された機械要素の補正量に基づき、機械要素の機械位置を補正する。または、補正実行部３０２は、この機械要素の補正量を数値制御装置１００に送信する。
【００７２】
これを受けて、数値制御装置１００は、この機械要素の補正量に基づき、機械要素の熱変位を補正する。したがって、マシニングセンタ１５０は、機械要素の熱変位をリアルタイムで補正しつつ、ワークＷの穴あけ加工を実行する。その結果、ワークＷの穴あけ加工に際して、機械要素の熱変位に起因するワークＷの加工部位と工具７７との相対位置のずれを低減し、ワークＷを高精度に加工することができる。
【００７３】
＜本実施形態の効果＞
以上のように、本実施形態によれば、マシニングセンタ１５０において、機械要素（送り軸４、主軸部７）の動作状態データと機械要素の熱変位量の実測値とが関連付けられた教師データを用いて、機械学習（教師あり学習）を繰り返すことにより、機械要素の熱変位量を推定する計算式を最適化することができる。その結果、様々な種類の加工に対して精度良く熱変位を補正することが可能となる。
【００７４】
また、機械要素の動作状態データと機械要素の熱変位量との計算式は、数値制御装置１００に記憶されているので、この計算式をネットワーク４００を介して送受信することにより、任意の１台のマシニングセンタ１５０で求まった計算式を共有資産として他のいずれのマシニングセンタ１５０でも利用することができる。
【００７５】
また、機械要素の熱変位量を推定する際に、上記の時刻ｎを加味した式を用いれば、機械要素の動作状態が時間の経過に伴って複雑に変動するような場合でも、機械要素の熱変位量を的確に推定することができる。
【００７６】
［その他の実施形態］
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００７７】
［変形例１］
第１実施形態では、数値制御装置１００と、機械学習装置２００と、熱変位補正装置３００とは、それぞれネットワーク４００に接続される構成を主に説明した。これに対して、数値制御装置１００と熱変位補正装置３００とは、接続部を介して直接接続してもよい。また、数値制御装置１００が熱変位補正装置３００を備えるように構成してもよい。
【００７８】
［変形例２］
第１実施形態における機械学習装置３００は、ＣＰＵを備えるコンピュータシステムとしてもよい。その場合、ＣＰＵは、例えばＲＯＭ等の記憶部に格納されたプログラムを読み出し、このプログラムに従ってコンピュータを主制御部２０１、データ取得部２０２、熱変位量取得部２０３、記憶部２０４、計算式設定部２０５、熱変位量算出部２０６、及び判定部２０７として実行させる。
【００７９】
［変形例３］
第１実施形態では、マシニングセンタ１５０に本発明を適用する場合について説明したが、熱膨張する機械要素を有するものである限り、マシニングセンタ１５０以外の工作機械にも、本発明を同様に適用することができる。
【符号の説明】
【００８０】
２……ベッド（機械要素）
３……コラム（機械要素）
４……送り軸（機械要素）
５……ワークテーブル（機械要素）
６……主軸取付台（機械要素）
７……主軸部（機械要素）
１００……数値制御装置（制御装置）
１５０……マシニングセンタ（工作機械）
２００……機械学習装置
２０２……データ取得部（データ取得手段）
２０３……熱変位量取得部（熱変位量取得手段）
２０４……記憶部（記憶手段）
２０５……計算式設定部（計算式設定手段）
２０６……熱変位量算出部（熱変位量算出手段）
２０７……判定部（判定手段）
３００……熱変位補正装置
３０１……補正量算出部（補正量算出手段）
３０２……補正実行部（補正実行手段）
【図１】
2018111145.tif 000003
【図２】
2018111145.tif 000004
【図３Ａ】
2018111145.tif 000005
【図３Ｂ】
2018111145.tif 000006
【図４】
2018111145.tif 000007
【図５】
2018111145.tif 000008
【図６】
2018111145.tif 000009
【図７】
2018111145.tif 000010
【図８】
2018111145.tif 000011