(57)【要約】【課題】クッション部材の衝突に関わる区間のトルクに係るデータを抽出することを可能とする衝突位置推定装置及び機械学習装置を提供すること。【解決手段】本発明の衝突位置推定装置１が備える機械学習装置１００は、記軸の移動に係る情報を示す軸移動データ、及び軸を駆動するモータのトルクに係るデータを示すモータトルクデータを、環境の現在状態を表す状態変数として観測する状態観測部１０６と、クッション部材が衝突する時の前記軸の位置を示す衝突位置データを、ラベルデータとして取得するラベルデータ取得部１０８と、状態変数とラベルデータとを用いて、軸の移動に係る情報及び軸を駆動するモータのトルクに係るデータと、クッション部材が衝突する時の軸の位置とを関連付けて学習する学習部１１０と、を備える。【選択図】図２
2019150932.tif 000002
【特許請求の範囲】
【請求項１】
テレスコピックカバーが備えるクッション部材が衝突する時の工作機械の軸の位置を推定する衝突位置推定装置であって、
前記クッション部材が衝突する時の前記軸の位置を学習する機械学習装置を備え、
前記機械学習装置は、
前記軸の移動に係る情報を示す軸移動データ、及び前記軸を駆動するモータのトルクに係るデータを示すモータトルクデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記クッション部材が衝突する時の前記軸の位置を示す衝突位置データを、ラベルデータとして取得するラベルデータ取得部と、
前記状態変数と前記ラベルデータとを用いて、前記軸の移動に係る情報及び前記軸を駆動するモータのトルクに係るデータと、前記クッション部材が衝突する時の前記軸の位置とを関連付けて学習する学習部と、
を備える衝突位置推定装置。
【請求項２】
前記軸の移動に係る情報は、前記軸に対して指令された位置指令及び送り速度を含む、
請求項１に記載の衝突位置推定装置。
【請求項３】
前記軸を駆動するモータのトルクに係るデータは、前記モータのトルクコマンドを含む、
請求項１または２に記載の衝突位置推定装置。
【請求項４】
前記学習部は、
前記状態変数から前記クッション部材が衝突する時の前記軸の位置を推定する相関性モデルと、予め用意された教師データから識別される相関性特徴との誤差を計算する誤差計算部と、
前記誤差を縮小するように前記相関性モデルを更新するモデル更新部とを備える、
請求項１又は２に記載の衝突位置推定装置。
【請求項５】
前記学習部は、前記状態変数と前記ラベルデータとを多層構造で演算する、
請求項１〜３のいずれか１つに記載の衝突位置推定装置。
【請求項６】
テレスコピックカバーが備えるクッション部材が衝突する時の工作機械の軸の位置を推定する衝突位置推定装置であって、
前記クッション部材が衝突する時の前記軸の位置を学習した機械学習装置を備え、
前記機械学習装置は、
前記軸の移動に係る情報を示す軸移動データ、及び前記軸を駆動するモータのトルクに係るデータを示すモータトルクデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記軸の移動に係る情報及び前記軸を駆動するモータのトルクに係るデータと、前記クッション部材が衝突する時の前記軸の位置とを関連付けて学習した学習部と、
前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記クッション部材が衝突する時の前記軸の位置を示す衝突位置データを推定した結果を出力する推定結果出力部と、
を備える衝突位置推定装置。
【請求項７】
前記機械学習装置は、クラウドサーバに存在する、
請求項１〜５のいずれか１つに記載の衝突位置推定装置。
【請求項８】
テレスコピックカバーが備えるクッション部材が衝突する時の工作機械の軸の位置を学習する機械学習装置であって、
前記軸の移動に係る情報を示す軸移動データ、及び前記軸を駆動するモータのトルクに係るデータを示すモータトルクデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記クッション部材が衝突する時の前記軸の位置を示す衝突位置データを、ラベルデータとして取得するラベルデータ取得部と、
前記状態変数と前記ラベルデータとを用いて、前記軸の移動に係る情報及び前記軸を駆動するモータのトルクに係るデータと、前記クッション部材が衝突する時の前記軸の位置とを関連付けて学習する学習部と、
を備える機械学習装置。
【請求項９】
テレスコピックカバーが備えるクッション部材が衝突する時の工作機械の軸の位置を学習した機械学習装置であって、
前記軸の移動に係る情報を示す軸移動データ、及び前記軸を駆動するモータのトルクに係るデータを示すモータトルクデータを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記軸の移動に係る情報及び前記軸を駆動するモータのトルクに係るデータと、前記クッション部材が衝突する時の前記軸の位置とを関連付けて学習した学習部と、
前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記クッション部材が衝突する時の前記軸の位置を示す衝突位置データを推定した結果を出力する推定結果出力部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、衝突位置推定装置及び機械学習装置に関する。
【背景技術】
【０００２】
テレスコピックカバーは、工作機械が加工を行う際に発生する切粉や切削液から、工作機械の内部機構を保護するためのカバーである。このテレスコピックカバーは、パンタグラフやばね等の伸縮部材によって多段式の金属製カバーを駆動することにより、カバーを開閉させる構造を有している。
【０００３】
図６，７は、テレスコピックカバーを備えた工作機械の概略的な構造を例示する図である。図６，７に例示されるテレスコピックカバーは、上カバー、下カバーの多段式のカバーとして構成されている。この例でのテレスコピックカバーは、上カバーの一端と下カバーの一端とがばね等の弾性部材により結び付けられており、また、上カバーの一端がステージに固定されると共に、下カバーの一端にはカバーの衝突を保護するためにゴム等のクッション部材が取付けられている。
【０００４】
このようなテレスコピックカバーを備えた工作機械のステージをサーボモータで移動させることを考える。図６に示される工作機械のステージは図上の左方向に位置している。ここで、サーボモータを駆動してボールねじを回転させ、ステージを図上の右方向へと移動させると、テレスコピックカバーの上カバーがステージの移動に伴って移動し、ストッパーと上カバーとにより押さえつけられていた弾性部材の弾性力と、上カバーからの牽引力とにより左側の下カバーが右方向へと移動する。そして、図７に例示されるように、いずれ左側のクッション部材は鋳物台へと衝突する。
【０００５】
このような衝突を繰り返すことでクッション部材は消耗するが、これをそのまま放置しているといずれはクッション部材が消耗によりクッションとしての役割を果たさなくなり、カバー自体が工作機械の部品等と衝突し、カバー乃至工作機械の故障の原因となるため、クッション部材の過度な消耗に基づく異常の発生を予測するための仕組みが必要となる。例えば、特許文献１に開示される技術では、テレスコピックカバーの伸縮動作に異常が生じた場合に早急にその状態を検知する方法が記載されている。この方法では、テレスコピックカバー内部に発光部と受光部とを設け、発光部が発生した光が板体により遮断されて受光部に受光されない場合に、異常が発生したと判断する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−６８１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１記載の方法では、予め想定された部材の、予め想定された態様の変形等の異常のみしか検出することができない。また、特許文献１に開示される技術は、あくまでも異常が発生したときにそれを早期に検出できるという効果が得られるに過ぎず、異常の発生につながる事象を捉えて異常の発生自体を予測するという効果を得ることはできない。
【０００８】
異常の発生を予測する技術の一例として、例えば機械学習器などを用いてクッション部材の衝突時に測定されたトルクに係るデータを機械学習し、そのクッション部材の消耗に伴うトルクに係るデータの変化に基づいて異常の発生を予測させることが考えられる。
【０００９】
図８は、図６，７に例示した工作機械のサーボモータに対する位置指令と、該サーボモータから検出されたトルクに係るデータであるトルクコマンドの時間的な推移を例示した図である。図８におけるｔ１は工作機械のステージが図６に示した位置からステージを移動させ始めた時刻であり、ｔ２は図７に示した位置にある時点、即ちクッション部材が鋳物台に衝突した時刻である。また、ｔ３はクッション部材が鋳物台に衝突した際に発生した振動が収まった時刻である。続いてｔ３からステージを左方向に移動させる。ｔ４は再び図６に示した位置まで戻ってきた時点、即ち反対側のクッション部材が鋳物台に衝突した時刻である。また、ｔ５はクッション部材が鋳物台に衝突した際に発生した振動が収まった時刻である。一般に、クッション部材の状態（正常／異常）を機械学習する際には、図８に例示したトルクコマンドのデータの内で、クッション部材の衝突に関わる部分のデータであるｔ２〜ｔ３近辺のトルクコマンド乃至ｔ４〜ｔ５近辺のトルクコマンドのデータが必要であり、また、その他の時間に検出されたトルクコマンドのデータは、機械学習の精度を落とす原因となるためできる限り使いたくないという課題がある。
【００１０】
しかしながら、この様なデータの切り出しは、明確にクッション部材が衝突した瞬間がわかっている場合には比較的容易に行えるが、図６，７に例示される構造を持ったテレスコピックカバーの場合、ステージの移動速度や位置、カバー間の摩擦力等によって移動の態様が変化するため、クッション部材が衝突する位置はステージがどの位置にあるのかによって一定に定まるわけではなく、クッション部材の鋳物台への衝突に関わるデータの切り出しは困難である。また、本例では、図８のトルクコマンドのグラフのｔ１の直後やｔ３の直後にも示されるように、通常動作においてサーボモータを動かし始めた時のトルクコマンドが大きいので、トルクコマンドの単純な大小だけではサーボモータを動かし始めた時点なのかクッション部材が衝突した時点なのかを区別できないという問題もある。
【００１１】
そこで本発明の目的は、クッション部材の衝突に関わる区間のトルクに係るデータを抽出することを可能とする衝突位置推定装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明では、機械学習の手法を用いることにより、テレスコピックカバーのクッション部材が衝突した位置を推定することで、上記課題を解決する。
【００１３】
そして、本発明の一態様は、テレスコピックカバーが備えるクッション部材が衝突する時の工作機械の軸の位置を推定する衝突位置推定装置であって、前記クッション部材が衝突する時の前記軸の位置を学習する機械学習装置を備え、前記機械学習装置は、前記軸の移動に係る情報を示す軸移動データ、及び前記軸を駆動するモータのトルクに係るデータを示すモータトルクデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記クッション部材が衝突する時の前記軸の位置を示す衝突位置データを、ラベルデータとして取得するラベルデータ取得部と、前記状態変数と前記ラベルデータとを用いて、前記軸の移動に係る情報及び前記軸を駆動するモータのトルクに係るデータと、前記クッション部材が衝突する時の前記軸の位置とを関連付けて学習する学習部と、を備える衝突位置推定装置である。
【００１４】
本発明の他の態様は、テレスコピックカバーが備えるクッション部材が衝突する時の工作機械の軸の位置を推定する衝突位置推定装置であって、前記クッション部材が衝突する時の前記軸の位置を学習した機械学習装置を備え、前記機械学習装置は、前記軸の移動に係る情報を示す軸移動データ、及び前記軸を駆動するモータのトルクに係るデータを示すモータトルクデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記軸の移動に係る情報及び前記軸を駆動するモータのトルクに係るデータと、前記クッション部材が衝突する時の前記軸の位置とを関連付けて学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記クッション部材が衝突する時の前記軸の位置を示す衝突位置データを推定した結果を出力する推定結果出力部と、を備える衝突位置推定装置である。
【００１５】
本発明の他の態様は、テレスコピックカバーが備えるクッション部材が衝突する時の工作機械の軸の位置を学習する機械学習装置であって、前記軸の移動に係る情報を示す軸移動データ、及び前記軸を駆動するモータのトルクに係るデータを示すモータトルクデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記クッション部材が衝突する時の前記軸の位置を示す衝突位置データを、ラベルデータとして取得するラベルデータ取得部と、前記状態変数と前記ラベルデータとを用いて、前記軸の移動に係る情報及び前記軸を駆動するモータのトルクに係るデータと、前記クッション部材が衝突する時の前記軸の位置とを関連付けて学習する学習部と、を備える機械学習装置である。
【００１６】
本発明の他の態様は、テレスコピックカバーが備えるクッション部材が衝突する時の工作機械の軸の位置を学習した機械学習装置であって、前記軸の移動に係る情報を示す軸移動データ、及び前記軸を駆動するモータのトルクに係るデータを示すモータトルクデータを、環境の現在状態を表す状態変数として観測する状態観測部と、前記軸の移動に係る情報及び前記軸を駆動するモータのトルクに係るデータと、前記クッション部材が衝突する時の前記軸の位置とを関連付けて学習した学習部と、前記状態観測部が観測した状態変数と、前記学習部による学習結果に基づいて、前記クッション部材が衝突する時の前記軸の位置を示す衝突位置データを推定した結果を出力する推定結果出力部と、を備える機械学習装置である。
【発明の効果】
【００１７】
本発明により、テレスコピックカバーのクッション部材が衝突した位置を推定することができるため、推定された衝突位置に基づいて衝突に関わるトルクコマンド等のトルクに係るデータを抽出することが容易にできるようになり、抽出されたトルクに係るデータを用いた更なる機械学習により精度の高いクッション部材の異常検知をすることができるようになる。
【図面の簡単な説明】
【００１８】
【図１】第１の実施形態による衝突位置推定装置の概略的なハードウェア構成図である。
【図２】第１の実施形態による衝突位置推定装置の概略的な機能ブロック図である。
【図３】衝突位置推定装置の一形態を示す概略的な機能ブロック図である。
【図４Ａ】ニューロンを説明する図である。
【図４Ｂ】ニューラルネットワークを説明する図である。
【図５】衝突位置推定装置を組み込んだシステムの一形態を示す概略的な機能ブロック図である。
【図６】テレスコピックカバーを備えた工作機械の動作を説明する図である。
【図７】テレスコピックカバーを備えた工作機械の動作を説明する図である。
【図８】テレスコピックカバーを備えた工作機械の軸の移動に係るトルクコマンドを示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面と共に説明する。
図１は第１の実施形態による衝突位置推定装置の要部を示す概略的なハードウェア構成図である。衝突位置推定装置１は、例えば工作機械等の製造機械を制御する制御装置として実装することができる。また、衝突位置推定装置１は、例えば工作機械等の製造機械を制御する制御装置に併設されたパソコンや、制御装置に有線／無線のネットワークを介して接続されたセルコンピュータ、ホストコンピュータ、エッジサーバ、クラウドサーバ等のコンピュータとして実装することができる。本実施形態では、衝突位置推定装置１を、図６，７等に例示したテレスコピックカバーを備えた工作機械を制御する制御装置として実装した場合の例を示す。
【００２０】
本実施形態による衝突位置推定装置１が備えるＣＰＵ１１は、衝突位置推定装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って衝突位置推定装置１の全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００２１】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、衝突位置推定装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、インタフェース１５を介して外部機器７２から読み込まれた制御プログラムや表示器／ＭＤＩユニット７０を介して入力された制御プログラム、衝突位置推定装置１の各部や工作機械から取得された各種データ（例えば、サーボモータ５０の位置や速度、サーボモータ５０に対する位置指令、速度指令、サーボモータ５０から検出されたトルクに係るデータ等）が記憶されている。不揮発性メモリ１４に記憶された制御プログラムや各種データは、実行時／利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、公知の解析プログラムなどの各種のシステム・プログラム（後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００２２】
インタフェース１５は、衝突位置推定装置１とアダプタ等の外部機器７２と接続するためのインタフェースである。外部機器７２側からは制御プログラムや各種パラメータ等が読み込まれる。また、衝突位置推定装置１内で編集したプログラムや各種パラメータ等は、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、衝突位置推定装置１に内蔵されたシーケンス・プログラムで工作機械及び該工作機械の周辺装置にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチやセンサ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００２３】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤７１に接続されている。
【００２４】
工作機械の各軸を動かす各軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、工作機械が備える軸を移動させるサーボモータ５０を駆動する。軸のサーボモータ５０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となる工作機械に備えられた軸の数（例えば、ＸＹＺ軸を備えた工作機械であれば３つ）だけ用意される。
【００２５】
スピンドル制御回路６０は、工作機械に備え付けられた主軸への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、主軸のスピンドルモータ６２を指令された回転速度で回転させ、工具を駆動する。スピンドルモータ６２にはポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはＣＰＵ１１によって読み取られる。
【００２６】
インタフェース２１は、衝突位置推定装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して衝突位置推定装置１で取得可能な各情報（例えば、サーボモータ５０の位置や速度、サーボモータ５０に対する位置指令、速度指令、サーボモータ５０から検出されたトルクに係るデータ等）を観測することができる。また、衝突位置推定装置１は、機械学習装置１００から出力される、クッション部材の衝突位置の推定値を受けて、工作機械から取得されたトルクに係るデータの切り出し等の処理を行う。
【００２７】
図２は、第１の実施形態による衝突位置推定装置１と機械学習装置１００の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した衝突位置推定装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、衝突位置推定装置１及び機械学習装置１００の各部の動作を制御することにより実現される。
【００２８】
本実施形態の衝突位置推定装置１は、不揮発性メモリ１４に記憶された制御プログラムに基づいて工作機械２を制御する制御部３４を備える。制御部３４は、例えば制御プログラム等により指定された加工条件および指令に基づいて工作機械２の動作を制御してワークの加工を行う。工作機械２はテレスコピックカバーを備えており、制御部３４が出力する指令に基づいてサーボモータ５０がステージを移動させることで、該テレスコピックカバーもまた動作する。
【００２９】
一方、衝突位置推定装置１が備える機械学習装置１００は、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータに対する、テレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置の推定を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（プロセッサ１０１等）を含む。衝突位置推定装置１が備える機械学習装置１００が学習するものは、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータと、テレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置との、相関性を表すモデル構造に相当する。
【００３０】
図２に機能ブロックで示すように、衝突位置推定装置１が備える機械学習装置１００は、工作機械２が備える軸の移動に係る情報を示す軸移動データＳ１及びサーボモータのトルクに係るデータを示すモータトルクデータＳ２を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部１０６と、テレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を示す衝突位置データＬ１を含むラベルデータＬを取得するラベルデータ取得部１０８と、状態変数ＳとラベルデータＬとを用いて、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータに、テレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を関連付けて学習する学習部１１０と、学習部１１０による学習済みモデルを用いて工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータから推定したテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を出力する推定結果出力部１２２と、を備える。
【００３１】
状態観測部１０６は、学習部１１０による学習時において、状態変数Ｓとしての軸移動データＳ１及びモータトルクデータＳ２を工作機械２から取得する。また、状態観測部１０６は、学習部１１０の学習結果を用いたテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置の推定時において、状態変数Ｓとしての軸移動データＳ１及びモータトルクデータＳ２を工作機械２から取得する。なお、いずれの場合も、直接的に工作機械２からデータを取得する代わりに、衝突位置推定装置１が備える不揮発性メモリ１４等を経由してデータを取得するようにしても良い。
【００３２】
状態観測部１０６が観測する状態変数Ｓのうち、軸移動データＳ１は、最もシンプルに構成する場合には、例えば工作機械２の軸に対する位置指令、及び該軸の送り速度を用いることができる。工作機械２の軸に対する位置指令は、例えば制御部３４が実行する制御プログラムによる指令から取得するようにしても良い。また、工作機械２の軸の送り速度は、例えば制御装置としての衝突位置推定装置１に設定されている加工条件や制御部３４が実行する制御プログラムによる指令から取得するようにしても良い。
【００３３】
一方、状態観測部１０６が観測する状態変数Ｓのうち、モータトルクデータＳ２は、最もシンプルに構成する場合には、例えば工作機械２の軸を駆動するサーボモータ５０のトルクコマンドを用いることができる。また、モータトルクデータＳ２は、サーボモータ５０の電流値等に基づいて求めたトルク値を用いてもよい。工作機械２の軸を駆動するサーボモータ５０のトルクに係るデータには、テレスコピックカバーを構成する各カバー間の摩擦力等が影響を与えているため、これを状態変数として用いることで、学習部１１０の学習及び推定にテレスコピックカバーを構成する各カバー間の摩擦力等を反映させることができる。モータトルクデータＳ２の例としては、図８に例示されるトルクコマンドの内、軸の移動開始後（ｔ１後）の過渡的なトルク値の変動が落ちついて略平坦になった部分のトルク値の絶対値の平均値を用いるのが望ましい。
【００３４】
ラベルデータ取得部１０８は、学習部１１０の学習時において、ラベルデータＬとして、テレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を示す衝突位置データＬ１を含むラベルデータＬを取得する。衝突位置データＬ１は、例えば工作機械２が備える軸の位置と、テレスコピックカバーの近傍に設置したレーザ干渉計やタッチプローブ等のセンサで検出したテレスコピックカバーの（クッション部材が取付けられている部材の）位置とに基づいて算出するようにしても良い。例えば図６，７に例示されるテレスコピックカバーの場合、横方向（ストッパーのある位置）にセンサを設置し、下カバーが所定の位置へと移動したときの工作機械２の軸の位置を衝突位置データＬ１として用いる。図６，７に例示されるテレスコピックカバーでは、クッション部材が正常な状態では、クッション部材が鋳物台に衝突する時の下カバーの位置は常に一定であるから、これを利用してテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を検出するようにすれば良い。
【００３５】
なお、ラベルデータ取得部１０８は、学習部１１０による学習の段階では必須の構成となるが、学習部１１０による工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータとテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置とを関連付けた学習が完了した後には必ずしも必須の構成ではない。例えば、学習が完了した機械学習装置１００を顧客に出荷する場合等には、ラベルデータ取得部１０８を取り外して出荷するようにしても良い。
【００３６】
学習部１１０は、機械学習と総称される任意の学習アルゴリズムに従い、状態変数Ｓ（工作機械２が備える軸の移動に係る情報を示す軸移動データＳ１及びサーボモータのトルクに係るデータを示すモータトルクデータＳ２）に対するラベルデータＬ（テレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を示す衝突位置データＬ１）を学習する。学習部１１０は、例えば状態変数Ｓに含まれる軸移動データＳ１及びモータトルクデータＳ２と、ラベルデータＬに含まれる衝突位置データＬ１との相関性を学習することができる。学習部１１０は、状態変数ＳとラベルデータＬとを含むデータ集合に基づく学習を反復実行することができる。
【００３７】
学習部１１０による学習においては、複数の工作機械２による軸の移動のそれぞれについて得られたデータに基づいた複数の学習サイクルを実行することが望ましい。このような学習サイクルを繰り返すことにより、学習部１１０は、工作機械２が備える軸の移動に係る情報（軸移動データＳ１）及び該軸を駆動するサーボモータ５０のトルクに係るデータ（モータトルクデータＳ２）と、テレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置（衝突位置データＬ１）との相関性を自動的に解釈する。学習アルゴリズムの開始時には軸移動データＳ１及びモータトルクデータＳ２に対する衝突位置データＬ１の相関性は実質的に未知であるが、学習部１１０が学習を進めるに従い徐々に軸移動データＳ１及びモータトルクデータＳ２に対する衝突位置データＬ１との関係を徐々に解釈し、その結果として得られた学習済みモデルを用いることで軸移動データＳ１及びモータトルクデータＳ２に対する衝突位置データＬ１の相関性を解釈可能になる。
【００３８】
推定結果出力部１２２は、学習部１１０が学習した結果（学習済みモデル）に基づいて、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータに基づいてテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を推定し、推定したテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を出力する。学習部１１０が工作機械２が備える軸の移動に係る情報を示す軸移動データＳ１及び該軸を駆動するサーボモータ５０のトルクに係るデータを示すモータトルクデータＳ２に関連付けて学習したテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を示すに衝突位置データＬ１は、（他の機械学習装置が）工作機械２に設置されたテレスコピックカバーが備えるクッション部材の状態（正常／異常）を推定をするために用いられる。
【００３９】
上記構成を有する機械学習装置１００では、学習部１１０が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図３は、図２に示す衝突位置推定装置１の他の形態であって、学習アルゴリズムの他の例として教師あり学習を実行する学習部１１０を備えた構成を示す。教師あり学習は、入力とそれに対応する出力との既知のデータセット（教師データと称する）が与えられ、それら教師データから入力と出力との相関性を暗示する特徴を識別することで、新たな入力に対する所要の出力を推定するための相関性モデルを学習する手法である。
【００４０】
図３に示す衝突位置推定装置１が備える機械学習装置１００において、学習部１１０は、工作機械２が備える軸の移動に係る情報からテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を推定する相関性モデルＭと過去に取得された工作機械２が備える軸の移動に係る情報及びサーボモータのトルクに係るデータと、センサ等で検出された工作機械２が備える軸の移動に係る情報からテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置の結果から得られた教師データＴから識別される相関性特徴との誤差Ｅを計算する誤差計算部１１２と、誤差Ｅを縮小するように相関性モデルＭを更新するモデル更新部１１４とを備える。学習部１１０は、モデル更新部１１４が相関性モデルＭの更新を繰り返すことによって工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータからテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置の推定を学習する。
【００４１】
相関性モデルＭの初期値は、例えば、状態変数ＳとラベルデータＬとの相関性を単純化して（例えばＮ次関数で）表現したものであり、教師あり学習の開始前に学習部１１０に与えられる。教師データＴは、本発明では上述したように過去に取得された工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータとセンサ等で検出された工作機械２が備える軸の移動に係る情報からテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置のデータとを利用することができ、衝突位置推定装置１の運用時に随時学習部１１０に与えられる。誤差計算部１１２は、学習部１１０に随時与えられた教師データＴにより、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータとテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置との相関性を暗示する相関性特徴を識別し、この相関性特徴と、現在状態における状態変数Ｓ及びラベルデータＬに対応する相関性モデルＭとの誤差Ｅを求める。モデル更新部１１４は、例えば予め定めた更新ルールに従い、誤差Ｅが小さくなる方向へ相関性モデルＭを更新する。
【００４２】
次の学習サイクルでは、誤差計算部１１２は、更新後の相関性モデルＭに従って状態変数Ｓを用いてテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置の推定が行われ、該推定の結果と実際に取得されたラベルデータＬの誤差Ｅを求め、モデル更新部１１４が再び相関性モデルＭを更新する。このようにして、未知であった環境の現在状態とそれに対する推定との相関性が徐々に明らかになる。
【００４３】
前述した教師あり学習を進める際に、ニューラルネットワークを用いることができる。図４Ａは、ニューロンのモデルを模式的に示す。図４Ｂは、図４Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００４４】
図４Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数１式により表現される出力ｙを出力する。なお、数１式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００４５】
【数１】
2019150932.tif 000003
【００４６】
図４Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す）が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００４７】
図４Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みＷ１と重みＷ２との間の特徴を表す。
【００４８】
図４Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みＷ２と重みＷ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【００４９】
衝突位置推定装置１が備える機械学習装置１００においては、状態変数Ｓを入力ｘとして、学習部１１０が上記したニューラルネットワークに従う多層構造の演算を行うことで、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータ（入力ｘ）からテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置（出力ｙ）を推定することができる。なお、ニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みｗを学習し、学習した重みｗを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００５０】
上記した機械学習装置１００の構成は、プロセッサ１０１が各々実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータからテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置（の推定）を学習する機械学習方法であって、プロセッサ１０１が、工作機械２が備える軸の移動に係る情報（軸移動データＳ１）及び該軸を駆動するサーボモータ５０のトルクに係るデータ（モータトルクデータＳ２）を現在状態を表す状態変数Ｓとして観測するステップと、テレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置（衝突位置データＬ１）をラベルデータＬとして取得するステップと、状態変数ＳとラベルデータＬとを用いて、軸移動データＳ１及びモータトルクデータＳ２と、テレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置とを関連付けて学習するステップとを有する。
【００５１】
機械学習装置１００の学習部１１０により学習されて得られた学習済みモデルは機械学習に係るソフトウェアの一部であるプログラムモジュールとしての利用することが可能である。本発明の学習済みモデルは、ＣＰＵやＧＰＵ等のプロセッサとメモリを備えるコンピュータにて用いることができる。より具体的には、コンピュータのプロセッサが、メモリに記憶された学習済みモデルからの指令に従って、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータを入力として演算を行い、演算結果に基づいてテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置の推定結果を出力するように動作する。本発明の学習済みモデルは、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００５２】
また、本発明の学習済みモデルを他のコンピュータに対して複製して新しい環境で利用する際に、当該環境で得られた新たな状態変数やラベルデータに基づいて当該学習済みモデルに対して更なる学習を行わせることもできる。このようにした場合、当該環境による学習済みモデルから派生した学習済みモデル（以下、派生モデルとする）を得ることが可能である。本発明の派生モデルは、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータからテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置の推定結果を出力するという点では元の学習済みモデルと同じだが、元の学習済みモデルよりも新しい環境に適合した結果を出力するという点で異なる。この派生モデルもまた、外部記憶媒体やネットワーク等を介して他のコンピュータに対して複製して利用することが可能である。
【００５３】
更に、本発明の学習済みモデルを組み込んだ機械学習装置に対する入力に対して得られる出力を用いて、他の機械学習装置において１から学習を行うことで得られる学習済みモデル（以下、蒸留モデルとする）を作成し、これを利用することも可能である（このような学習工程を蒸留と言う）。蒸留において、元の学習済みモデルを教師モデル、新たに作成する蒸留モデルを生徒モデルとも言う。一般に、蒸留モデルは元の学習済みモデルよりもサイズが小さく、それでいて元の学習済みモデルと同等の正確度を出せるため、外部記憶媒体やネットワーク等を介した他のコンピュータに対する配布により適している。
【００５４】
図５は、衝突位置推定装置１を備えた一実施形態によるシステム１７０を示す。システム１７０は、セルコンピュータやホストコンピュータ、クラウドサーバ等のコンピュータの一部として実装された少なくとも１台の衝突位置推定装置１と、複数の工作機械２と、衝突位置推定装置１、工作機械２を互いに接続する有線／無線のネットワーク１７２とを備える。
【００５５】
上記構成を有するシステム１７０は、機械学習装置１００を備える衝突位置推定装置１が、学習部１１０の学習結果を用いて、それぞれの工作機械２による工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータに対するテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を、それぞれの工作機械２毎に自動的かつ正確に求めることができる。また、衝突位置推定装置１の機械学習装置１００が、複数の工作機械２のそれぞれについて得られた状態変数Ｓ及びラベルデータＬに基づき、全ての工作機械２に共通する工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータに対するテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置を学習し、その学習結果を全ての工作機械２において共有するように構成できる。したがってシステム１７０によれば、より多様なデータ集合（状態変数Ｓ及びラベルデータＬを含む）を入力として、工作機械２が備える軸の移動に係る情報及び該軸を駆動するサーボモータ５０のトルクに係るデータに対するテレスコピックカバーのクッション部材の衝突する時の工作機械２の軸位置の学習の速度や信頼性を向上させることができる。
【００５６】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００５７】
例えば、機械学習装置１００が実行する学習アルゴリズムや演算アルゴリズム、衝突位置推定装置１が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００５８】
また、上記した実施形態では衝突位置推定装置１と機械学習装置１００が異なるＣＰＵを有する装置として説明しているが、機械学習装置１００は衝突位置推定装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【符号の説明】
【００５９】
１  衝突位置推定装置
２  工作機械
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５，１８，１９，２１  インタフェース
１７  Ｉ／Ｏユニット
２０  バス
３０  軸制御回路
３４  制御部
４０  サーボアンプ
５０  サーボモータ
６０  スピンドル制御回路
６１  スピンドルアンプ
６２  スピンドルモータ
６３  ポジションコーダ
７０  表示器／ＭＤＩユニット
７１  操作盤
７２  外部機器
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１０６  状態観測部
１０８  ラベルデータ取得部
１１０  学習部
１１２  誤差計算部
１１４  モデル更新部
１２２  推定結果出力部
１７０  システム
１７２  ネットワーク
【図１】
2019150932.tif 000004
【図２】
2019150932.tif 000005
【図３】
2019150932.tif 000006
【図４Ａ】
2019150932.tif 000007
【図４Ｂ】
2019150932.tif 000008
【図５】
2019150932.tif 000009
【図６】
2019150932.tif 000010
【図７】
2019150932.tif 000011
【図８】
2019150932.tif 000012