(57)【特許請求の範囲】
【請求項１】
ワークを切削する工作機械のモータを制御する数値制御装置であって、
前記モータの状態を観測した結果を示すモータ状態信号を出力するモータ状態観測部と、
前記工作機械が切削を行っているか否かを示す切削状態信号を出力する切削状態観測部と、
前記モータ状態信号および前記工作機械の物理モデルパラメータに基づき、前記モータのトルクの推定値である第一の推定トルクと前記第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部と、
前記第一の推定トルクと前記物理状態変数と前記モータ状態信号との少なくとも一つ、および前記切削状態信号から特徴量を生成し出力する特徴量生成部と、
前記特徴量および機械学習モデルパラメータから機械学習補正量を算出し、算出した前記機械学習補正量が前記モータ状態信号に含まれる実トルクと前記第一の推定トルクとの差分に近づくように前記機械学習モデルパラメータを学習し、学習した前記機械学習モデルパラメータを記憶する機械学習モデル計算部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記特徴量生成部は、前記第一の推定トルクと、前記物理状態変数と、前記モータ状態信号と、前記切削状態信号と、前記工作機械に使用される工具についての情報である工具情報と、前記工作機械における加工条件についての情報である加工情報とを記憶する記憶装置を有し、前記記憶装置に記憶された情報の中から前記特徴量とする情報を抽出する、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記機械学習モデル計算部は、前記切削が行われているときにおける入出力に基づいた学習による前記機械学習モデルパラメータと、前記切削が行われていないときにおける入出力に基づいた学習による前記機械学習モデルパラメータとを記憶する、
ことを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記機械学習モデル計算部は、前記切削が行われていないときにおける入出力に基づいた学習による前記機械学習モデルパラメータから算出した前記機械学習補正量を前記第一の推定トルクに加算することによって第二の推定トルクを算出し、前記実トルクと算出された前記第二の推定トルクとの差分を監視し、前記差分に基づいて異常を検知する、
ことを特徴とする請求項３に記載の数値制御装置。
【請求項５】
前記機械学習モデル計算部は、前記切削が行われていないときにおける入出力に基づいた学習による前記機械学習モデルパラメータから算出した前記機械学習補正量を前記第一の推定トルクに加算することによって第二の推定トルクを算出し、前記実トルクと算出された前記第二の推定トルクとの差分である切削負荷トルクを求める、
ことを特徴とする請求項３に記載の数値制御装置。
【請求項６】
前記機械学習モデル計算部は、前記切削が行われているときにおける入出力に基づいた学習による前記機械学習モデルパラメータから算出した前記機械学習補正量を前記第一の推定トルクに加算することによって第二の推定トルクを算出し、前記実トルクと算出された前記第二の推定トルクとの差分を監視し、前記差分に基づいて前記工具の摩耗または欠損を検知する、
ことを特徴とする請求項３に記載の数値制御装置。
【請求項７】
前記記憶装置は、加工における複数の事象の各々を検知するための判定のいずれを行うかを示す判定情報をさらに記憶する、
ことを特徴とする請求項２から６のいずれか一つに記載の数値制御装置。
【請求項８】
前記工具情報は、前記工具の刃数の情報または前記工具の突き出し長さの情報を含むことを特徴とする請求項２から７のいずれか一つに記載の数値制御装置。
【請求項９】
前記工具は、旋削加工に使用される工具であって、
前記工具情報は、前記工具のチップ形状の情報または前記工具の逃げ角の情報を含むことを特徴とする請求項２から７のいずれか一つに記載の数値制御装置。
【請求項１０】
前記機械学習モデル計算部は、入出力関係に自己回帰項を含む機械学習としてニューラルネットワークを用いて前記機械学習補正量を算出し、かつ、前記機械学習モデルパラメータの学習時に誤差逆伝搬法を用いる、
ことを特徴とする請求項１から９のいずれか一つに記載の数値制御装置。
【請求項１１】
前記機械学習モデル計算部は、前記自己回帰項として前記実トルクと前記第一の推定トルクとの差分を用いる、
ことを特徴とする請求項１０に記載の数値制御装置。
【請求項１２】
前記第一のトルク推定部は、前記モータ状態信号および前記物理モデルパラメータに基づき、運動方程式を用いて前記第一の推定トルクと前記物理状態変数とを出力する、
ことを特徴とする請求項１から１１のいずれか一つに記載の数値制御装置。
【請求項１３】
前記運動方程式は、前記モータ状態信号により求まる前記モータの速度を入力としてトルクの摩擦成分の推定値を出力する連続かつ滑らかな摩擦モデルを含む、
ことを特徴とする請求項１２に記載の数値制御装置。
【請求項１４】
前記実トルクと前記第一の推定トルクとの差分を低減するよう前記物理モデルパラメータを学習し記憶する物理モデル計算部
をさらに備えることを特徴とする請求項１から１１のいずれか一つに記載の数値制御装置。
【請求項１５】
前記第一のトルク推定部は、前記モータ状態信号および前記物理モデルパラメータに基づき、運動方程式を用いて前記第一の推定トルクと前記物理状態変数とを出力し、
前記運動方程式は、前記モータ状態信号により求まる前記モータの速度を入力としてトルクの摩擦成分の推定値を出力する連続かつ滑らかな摩擦モデルを含み、
前記物理モデル計算部は、前記摩擦モデルの係数を前記物理モデルパラメータとして学習し記憶する、
ことを特徴とする請求項１４に記載の数値制御装置。
【請求項１６】
前記物理状態変数に、前記摩擦モデルが含まれる、
ことを特徴とする請求項１５に記載の数値制御装置。
【請求項１７】
前記物理モデル計算部は、前記物理モデルパラメータの学習において、前記摩擦モデルの係数および他の前記物理モデルパラメータを交互に推定する、
ことを特徴とする請求項１６に記載の数値制御装置。
【請求項１８】
前記物理モデル計算部は、前記物理モデルパラメータの学習において、最小二乗法、正則化最小二乗法、非線形最小二乗法、またはカルマンフィルタを用いる、
ことを特徴とする請求項１６または１７に記載の数値制御装置。
【請求項１９】
ワークを切削する工作機械のモータを制御する数値制御装置であって、
前記モータの状態を観測した結果を示すモータ状態信号を出力するモータ状態観測部と、
前記工作機械が切削を行っているか否かを示す切削状態信号を出力する切削状態観測部と、
前記モータ状態信号および前記工作機械の物理モデルパラメータに基づき、前記モータのトルクの推定値である第一の推定トルクと前記第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部と、
前記第一の推定トルクと前記物理状態変数と前記モータ状態信号との少なくとも一つ、および前記切削状態信号から特徴量を生成し出力する特徴量生成部と、
前記特徴量および機械学習モデルパラメータから前記モータ状態信号に含まれる実トルクと前記第一の推定トルクとの差分に近づくように算出された機械学習補正量を前記第一の推定トルクに加算して第二の推定トルクを出力する第二のトルク推定部と、
を備えることを特徴とする数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御対象を模したモデルを生成する数値制御装置に関する。
【背景技術】
【０００２】
工作機械を制御対象とする数値制御装置に対して、高速かつ高精度な制御手法および故障検知手法が求められている。これらの性能向上には、制御対象を正確に模したモデルが必要不可欠である。しかしながら、実際の数値制御装置の動作においては、制御対象における配線、主軸、工具またはワークなどの取り付けによる質量、重心位置、慣性テンソルおよび伸縮カバーの摩擦などといった物理モデルパラメータの誤差が無視できず、また、振動、摩擦などモータ速度に対して非線形な成分も多く含まれる。そのため、予めこれらを高精度に再現可能なモデルを与えることは困難であった。【０００３】
近年、このようなモデルにおける力およびトルクの推定誤差を抑制するための制御方式が提案されている。例えば、特許文献１には、電動機の制御装置が、Ｍ系列または正弦波状の指令を取得し、トルク推定誤差が最小となるように、慣性テンソル、摩擦係数、およびばね定数をサンプリング周期毎に修正することにより、物理モデルパラメータの初期値に含まれる誤差を動作中に修正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２８３８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、電動機の制御装置の運動が、慣性テンソル、摩擦、およびばねからのトルクでモデル化できると仮定されており、モデルとして考慮されていない外乱が表現できない、という問題があった。また、摩擦のモデルについても簡略化されているため、ストライベック効果、ヒステリシスなどといった非線形性の強い複雑な現象に対する表現能力を持たない、という問題があった。【０００６】
本開示は、上記に鑑みてなされたものであって、非線形性が強い現象に対する高精度なトルク推定を可能とする数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本開示にかかる数値制御装置は、ワークを切削する工作機械のモータを制御する数値制御装置である。本開示にかかる数値制御装置は、モータの状態を観測した結果を示すモータ状態信号を出力するモータ状態観測部と、工作機械が切削を行っているか否かを示す切削状態信号を出力する切削状態観測部と、モータ状態信号および工作機械の物理モデルパラメータに基づき、モータのトルクの推定値である第一の推定トルクと第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部と、第一の推定トルクと物理状態変数とモータ状態信号との少なくとも一つ、および切削状態信号から特徴量を生成し出力する特徴量生成部と、特徴量および機械学習モデルパラメータから機械学習補正量を算出し、算出した機械学習補正量がモータ状態信号に含まれる実トルクと第一の推定トルクとの差分に近づくように機械学習モデルパラメータを学習し、学習した機械学習モデルパラメータを記憶する機械学習モデル計算部と、を備える。
【発明の効果】
【０００８】
本開示に係る数値制御装置は、非線形性が強い現象に対する高精度なトルク推定が可能となる、という効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る数値制御装置の構成例を示すブロック図
【図２】実施の形態１に係る数値制御装置による制御対象である対象機械を示す模式図
【図３】実施の形態１に係る物理モデル記憶部で推定される物理モデルパラメータである非線形摩擦モデルの例を示す図
【図４】実施の形態１に係る特徴量生成部および機械学習モデル計算部の構成例を示すブロック図
【図５】実施の形態１に係る特徴量生成部および機械学習モデル計算部の構成において自己回帰項を示す図
【図６】実施の形態１に係る数値制御装置における物理モデルパラメータおよび機械学習モデルパラメータの学習の流れを示すフローチャート
【図７】実施の形態１に係る数値制御装置の制御対象である対象機械の動作を表すモータ速度、数値制御装置で推定される第一の推定トルク、および数値制御装置で推定される第二の推定トルクを示す図
【図８】実施の形態１における数値制御装置による異常検知について説明するための図
【図９】実施の形態２における数値制御装置による切削負荷の検知について説明するための図
【図１０】実施の形態３における数値制御装置による工具の摩耗または欠損の検知について説明するための図
【図１１】実施の形態１から３に係る数値制御装置が備える処理回路をプロセッサおよびメモリで構成する場合の例を示す図
【図１２】実施の形態１から３に係る数値制御装置が備える処理回路を専用のハードウェアで構成する場合の例を示す図
【発明を実施するための形態】
【００１０】
以下に、実施の形態に係る数値制御装置を図面に基づいて詳細に説明する。
【００１１】
実施の形態１．
図１は、実施の形態１に係る数値制御装置１００の構成例を示すブロック図である。数値制御装置１００は、工作機械である対象機械１０のモータを制御する。数値制御装置１００は、モータ状態観測部１と、物理モデル計算部２と、特徴量生成部３と、機械学習モデル計算部４と、切削状態観測部５と、を備える。物理モデル計算部２は、第一のトルク推定部２１と、物理モデル記憶部２２と、を備える。機械学習モデル計算部４は、第二のトルク推定部４１と、機械学習モデル記憶部４２と、を備える。
【００１２】
数値制御装置１００による制御対象である対象機械１０について説明する。図２は、実施の形態１に係る数値制御装置１００による制御対象である対象機械１０を示す模式図である。対象機械１０は、ワーク１５に対して工具１４を相対的に移動させることによってワーク１５の切削加工を行う工作機械である。ここでは、対象機械１０として、マシニングセンタを例にして説明する。
【００１３】
対象機械１０は、コラム１１と、主軸ヘッド１２と、テーブル１３と、工具１４と、から構成されている。工具１４は、主軸モータが発生する駆動力を受けて回転する。コラム１１および主軸ヘッド１２、またはテーブル１３は、サーボモータが発生する駆動力を受けて直進駆動する。主軸モータおよびサーボモータの図示は省略する。数値制御装置１００は、ワーク１５に対する工具１４の位置および向きを制御する。
【００１４】
実施の形態１では、対象機械１０として、移動軸が３軸であるマシニングセンタを例示したが、対象機械１０である工作機械は３軸のマシニングセンタに限定されない。数値制御装置１００は、モータにより駆動する工作機械に広く適用することができる。対象機械１０である工作機械の例としては、さらに、５軸マシニングセンタ、タッピングセンタ、旋盤、および複合旋盤などの工作機械、実装機などを挙げることができる。
【００１５】
モータ状態観測部１は、対象機械１０のモータの状態を観測し、観測結果を示すモータ状態信号を出力する。具体的には、モータ状態観測部１は、移動軸である第１軸、第２軸および第３軸と主軸とに対応する各アクチュエータの位置、速度、加速度の少なくとも一つと、主軸モータおよびサーボモータの各トルクである実トルクとをモータ状態信号として出力する。
【００１６】
実トルクとしては、センサによってモータから直接計測された値を用いてもよく、アクチュエータから取得された入力電流値の換算値を用いてもよい。モータ状態信号は、各アクチュエータの位置、速度、加速度、および実トルクの信号のみに限定されない。モータ状態信号は、対象機械１０の各軸または規定された個所に設けられた内界センサもしくは外界センサのセンシングデータ、例えば、各軸のアクチュエータの温度データ、赤外線センサ、超音波センサなどのセンサから得られた距離データ、ビジョンセンサから得られた動画像データ、およびそれらを画像処理して得られた特徴量データ、などの値を含んでもよい。
【００１７】
第一のトルク推定部２１は、モータ状態観測部１の出力であるモータ状態信号と、物理モデル記憶部２２の出力である後述する物理モデルパラメータとを入力として、実トルクの推定値である第一の推定トルクを運動方程式により算出する。すなわち、第一のトルク推定部２１は、モータ状態信号および対象機械１０の物理モデルパラメータに基づき、運動方程式を用いてモータのトルクの推定値である第一の推定トルクを推定する。第一のトルク推定部２１は、第一の推定トルクと、第一の推定トルクの成分である物理状態変数とを出力する。
【００１８】
物理状態変数には、慣性項、遠心力の項、コリオリ力の項、重力項だけでなく、クーロン摩擦の項、粘性摩擦の項、アームの振動の項、弾性たわみの項に加えて、後述する非線形摩擦モデルのような、第一の推定トルクを算出する上で何らかの物理現象を模擬して導入された関数の項が含まれてもよい。物理状態変数に摩擦推定値を含むことにより、数値制御装置１００は、摩擦モデルの不確かさおよび実トルクの摩擦成分に対する摩擦推定値の誤差を、機械学習モデル計算部４で補正することを可能にする。
【００１９】
運動方程式において用いられるモータ状態信号および物理モデルパラメータは、それぞれ、各アクチュエータの位置、速度、加速度と、各リンクの質量、重心位置、慣性テンソルとに対応している。すなわち、物理モデルパラメータには、対象機械１０のリンク機構における質量、対象機械１０のリンク機構における重心位置、および対象機械１０のリンク機構における慣性テンソルが含まれる。これにより、数値制御装置１００は、対象機械１０の既知の機構に関する情報を利用する逆動力学において、係数の質量、重心位置、慣性テンソルを物理モデルパラメータとして学習し実トルクに対する第一の推定トルクの推定精度を向上させることができる。また、数値制御装置１００は、機械学習モデル計算部４における補正値が相対的に小さくなり、第二の推定トルクの汎化性能を向上させることができる。ここで、運動方程式としては、例えば、ニュートンオイラー法、ラグランジュの運動方程式などを用いることができる。
【００２０】
第一のトルク推定部２１は、モータ状態信号により求まるモータの速度を入力として、トルクの摩擦成分の推定値を出力する連続かつ滑らかな摩擦モデルを含む運動方程式を用いる。後述するように機械学習モデル計算部４はニューラルネットワークを用いるが、ニューラルネットワークが計算できるのは入力に対して連続な関数であるため、特徴量および特徴量生成部３への入力は連続であることが望ましい。そのため、数値制御装置１００は、速度ゼロ付近も含めて連続となる摩擦モデルを定義することで、物理モデル記憶部２２内で学習しきれない摩擦成分についてもニューラルネットワークを用いて学習および補正することが可能となる。
【００２１】
物理モデル記憶部２２は、対象機械１０の状態が非切削状態であるときにおいて対象機械１０を一定期間動作させた際のモータ状態信号を教師データとし、モータ状態信号に含まれる実トルクと第一の推定トルクとの差分を低減するよう物理モデルパラメータを学習する。物理モデル記憶部２２は、学習した物理モデルパラメータを記憶する。数値制御装置１００は、物理モデルパラメータを学習することで、センサ、配線類の取り付け、加工誤差、組み立て誤差などによる物性の変化を補正し、実トルクの推定精度を向上させることができる。また、一般的に、物理モデルパラメータは、諸元表、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データなどからおおよその値が算出可能であるため、これらの値を学習時の初期値として与えることにより学習の速度、収束性などを向上させることが可能である。ただし、これらの値が未知もしくは算出が困難な場合は、任意の定数で初期化してもよい。
【００２２】
物理モデル記憶部２２での物理モデルパラメータの学習には、上述の運動方程式を変形し、物理モデルパラメータのみを分離した優決定系の線形方程式を用いる。ニュートンの運動方程式、オイラーの運動方程式、およびラグランジュの運動方程式は、いずれも位置、速度、加速度に対して非線形な項を考慮しない場合、質量、重心位置、慣性テンソルからなる定数係数と、位置、速度、加速度からなる変数との積の線形結合で表現できる。すなわち、実トルクに対する動力学計算の誤差をΔｆとおくと、各軸の運動方程式は、質量、重心位置、慣性テンソルからなる物理モデルパラメータｗ、および速度ｖと加速度ａからなる係数行列Ａ（ｖ，ａ）を用いて式（１）のように変数分離した形で記述できる。
【００２３】
Δｆ＝Ａ（ｖ，ａ）ｗ  …（１）
【００２４】
よって、物理モデル記憶部２２は、式（１）を最小二乗法により軸毎にｗについて解くことで、各軸の物理モデルパラメータを算出できる。また、物理モデル記憶部２２は、５軸の工作機械のように軸間干渉を生じうる駆動機械に対しては、各軸のｗに関する式（１）を一つの線形方程式にまとめて同時に解くことにより、物理モデル計算部２全体としてより尤もらしい解を得ることができる。物理モデル記憶部２２は、物理モデルパラメータｗの同定手法に関して、最小二乗法以外にも正則化最小二乗法、カルマンフィルタに加えて、ベイズ推定、遺伝的アルゴリズム、ニューラルネットワークなどを用いても良い。
【００２５】
なお、物理モデル記憶部２２は、運動方程式において摩擦の影響を考慮する際、次に示すクーロン摩擦および粘性摩擦からなる摩擦モデルである線形摩擦モデルなど、速度の関数と摩擦係数との線形結合で表現される摩擦係数が分離可能な式で摩擦を表現することで、摩擦係数についても式（１）と同様に物理モデルパラメータとして同時に推定が可能となる。物理モデル記憶部２２で推定される摩擦係数を式（２）で示す。なお、イメージで取り込まれる式（２）および後述の式（３）ではｑiの上部にドットが付与されているが、これを説明部分で表現できない。そのため、説明部分では、ｑiの上部にドットが付与されているものを単にｑiと表記する。
【００２６】
【数１】
0006949284.tif 000002
【００２７】
ここで、速度ｑiで動作する軸ｉの摩擦モデルＦiに対して、ｒFC,iはクーロン摩擦係数、ｒFV,iは粘性摩擦係数である。ただし、工作機械をはじめとする多軸機構の動作においては、粘性摩擦が速度に対して完全に線形な関係とならず、特にアクチュエータの高速動作時においては、線形と仮定した場合の値と比べて小さくなることがしばしば確認される。そのような場合は、速度に対する非線形性を考慮したより自由度の高い摩擦モデルを用いて摩擦を推定し、実トルクと第一の推定トルクの差分における摩擦成分を除去した上で、その他の物理モデルパラメータを推定することが望ましい。このような摩擦モデルである非線形摩擦モデルとして、式（３）で示される以下に示すような関数が一例として挙げられる。
【００２８】
【数２】
0006949284.tif 000003
【００２９】
ここで、ωlsは低速動作の境界速度であり、ωhsは高速動作の境界速度であり、ｒST,iは摩擦の飽和係数である。非線形摩擦モデルのグラフを図３に示す。図３は、実施の形態１に係る物理モデル記憶部２２で推定される物理モデルパラメータである非線形摩擦モデルの例を示す図である。図３において、横軸はモータ速度を示し、縦軸は摩擦を示す。
【００３０】
非線形摩擦モデルは、クーロン摩擦係数ｒFC,iおよび粘性摩擦係数ｒFV,iに加えて計４つのパラメータを持ち、速度ｑiに対して非線形な関数であるため、これらは実トルクと第一の推定トルクとの差分から非線形最小二乗法であるＬｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法を用いて求める。Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法は、初期値依存性を持つため、一度摩擦に線形性を仮定してクーロン摩擦係数ｒFC,iおよび粘性摩擦係数ｒFV,iを物理モデルパラメータｗに加え、上述の式（１）により各摩擦係数を算出した後、それらを初期値とすることで初期値依存性による推定の失敗を防ぐことができる。すなわち、物理モデル記憶部２２は、物理モデルパラメータの学習において、最小二乗法、正則化最小二乗法、非線形最小二乗法、またはカルマンフィルタなどを用いることができる。数値制御装置１００は、最小二乗法、非線形最小二乗法、非線形最小二乗法、またはカルマンフィルタを用いることで、対象機械１０の運動方程式および状態方程式における未知の係数を動作データから推定することが可能となる。動作データは、例えば、モータ状態信号に含まれるデータである。
【００３１】
物理モデル記憶部２２は、ここで得られた非線形摩擦モデルの係数を物理モデルパラメータとして記憶し、各時刻の非線形摩擦モデルの出力を物理状態変数に追加する。数値制御装置１００は、摩擦モデルの係数を物理モデルパラメータとして物理モデル記憶部２２で記憶しておくことにより、経年劣化、異常などによる粘性摩擦、またクーロン摩擦の変化を検知することができる。物理モデル記憶部２２は、例えば、物理モデルパラメータの学習において、非線形摩擦モデルの係数および他の物理モデルパラメータを交互に推定する。数値制御装置１００は、摩擦モデルの係数およびその他の物理モデルパラメータを交互に推定することで、摩擦モデルをより複雑かつ詳細に設計することができる。また、数値制御装置１００は、その他の物理モデルパラメータの推定についても摩擦の影響をほとんど除去した状態で行えるため、物理モデルパラメータをより高精度に学習することが可能となる。
【００３２】
ただし、非線形摩擦モデルについては、速度の関数に限らず、位置、加速度、モータ温度などにも依存する多変数関数であってもよく、非線形摩擦モデルの各係数はＧａｕｓｓ−Ｎｅｗｔｏｎ法、最急降下法、拡張カルマンフィルタ、無香カルマンフィルタなどによって同定しても良い。また、非線形摩擦モデルとして、サポートベクター回帰モデル、回帰木、ランダムフォレスト、多変量適応型回帰スプラインモデル、ニューラルネットワークなど機械学習アルゴリズムに基づいたモデル生成手法を用いても良いが、後述の機械学習モデル計算部４において、ニューラルネットワークをはじめとする機械学習部４１１により第一の推定トルクの補正を行うため、非線形摩擦モデルは摩擦の静的な特性に着目したマクロな影響のみを除去できれば良く、陽に与えられる速度のみの関数として考慮すれば十分である。
【００３３】
切削状態観測部５は、対象機械１０による切削状態を観測し、観測結果を示す切削状態信号を出力する。切削状態信号は、対象機械１０が切削を行っているか否かを示す信号である。切削状態観測部５は、対象機械１０から加工プログラムを取得し、加工プログラムの内容を基に、切削状態を観測する。
【００３４】
特徴量生成部３には、モータ状態観測部１の出力であるモータ状態信号と、第一のトルク推定部２１の出力である第一の推定トルクおよび物理状態変数と、切削状態観測部５の出力である切削状態信号とが入力される。特徴量生成部３は、第一の推定トルクと、物理状態変数と、モータ状態信号と、切削状態信号とを入力とし、機械学習部４１１への入力である特徴量を出力する。
【００３５】
切削負荷を推定する場合などには、工具情報と、加工情報と、アプリケーション判定情報とが、特徴量生成部３への入力に追加される。工具情報は、工具１４の種別および形状についての情報である。工具情報は、工具径、工具長、工具形状、工具１４の刃数の情報または工具１４の突き出し長さの情報を含む。また、工具１４が、旋削加工に使用される工具１４である場合、工具情報は、工具１４のチップ形状の情報または工具１４の逃げ角の情報を含んでも良い。加工情報は、対象機械１０における加工条件についての情報である。加工情報は、送り速度または送り幅といった加工条件についての情報を含む。
【００３６】
アプリケーション判定は、切削における異常の検知と、切削における負荷の検知と、工具１４の摩耗または欠損の検知との各々についての判定である。アプリケーション判定情報は、異常検知、切削負荷検知、および、摩耗または欠損の検知の各々についての判定のうちいずれを行うかを示す。すなわち、アプリケーション判定情報は、加工において生じ得る複数の事象の各々についての判定のうちいずれを行うかを示す情報である。
【００３７】
アプリケーション判定情報は、対象機械１０のユーザによって特徴量生成部３へ入力される。ユーザは、「異常検知」と、「切削負荷検知」と、「工具の摩耗または欠損の検知」との中から、アプリケーション判定の対象を選択し、選択された対象を示すアプリケーション判定情報を特徴量生成部３へ入力する。アプリケーション判定の対象には、内部処理に「異常検知」、「切削負荷検知」または「工具の摩耗または欠損の検知」が用いられる機能も含まれる。かかる機能の例は、切削負荷制御のように、パラメータによって切削負荷量を直接ユーザが指定する機能、ＦＳＷ(Ｆｒｉｃｔｉｏｎ  Ｓｔｉｒ  Ｗｅｌｄｉｎｇ)のように、ユーザが負荷量を指定しないが加工条件によって負荷量を制御する機能などである。これら各機能では、内部処理によって「切削負荷検知」が行われる。なお、数値制御装置１００が、異常検知と、切削負荷検知と、摩耗または欠損の検知とのいずれかのみを行う場合、アプリケーション判定情報は固定値でも良い。または、アプリケーション判定情報は、特徴量生成部３へ入力されなくても良い。
【００３８】
特徴量生成部３は、「異常検知」と、「切削負荷検知」と、「工具の摩耗または欠損の検知」とのうちいずれのアプリケーション判定を行うかを、入力されたアプリケーション判定情報から判断する。特徴量生成部３は、切削が行われているときの学習による機械学習モデルパラメータと、切削が行われていないときの学習による機械学習モデルパラメータとのどちらを用いて第２の推定トルクを推定するかを、かかる判断の結果に基づいて決定する。また、特徴量生成部３は、実トルクから第２の推定トルクを差し引く演算において、切削が行われているときに取得された実トルクと、切削が行われていないときに取得された実トルクとのどちらを用いるかを、かかる判断の結果に基づいて決定する。特徴量生成部３は、決定された事項についての情報を含めた特徴量を出力する。
【００３９】
これらの特徴量生成部３の入力および推定対象である実トルクは、時系列的に変化する値である。機械学習モデル記憶部４２は、それぞれ時間軸方向の相関についても考慮する必要があるため、特徴量も過去の一定期間の値も同時に含むベクトルとして与える。また、実施の形態１で対象とする工作機械のような多軸機構においては、軸間の相互干渉の影響が小さくないため、それぞれの軸に対応する入力の値についても同時に含むベクトルとすることが望ましい。ただし、特徴量におけるトルク成分に関しては、実トルクと第一の推定トルクとの差分として与え、推定対象とする実トルクに対して過去の値のみを用いるものとする。
【００４０】
図４は、実施の形態１に係る特徴量生成部３および機械学習モデル計算部４の構成例を示すブロック図である。図４において、ｚは単位遅延演算子であり、Ｎdは遅延の単位時刻数を示す０以上の整数である。図４に示す単位遅延演算子は、特徴量生成部３に備えられた記憶装置ともいえる。すなわち、特徴量生成部３は、第一の推定トルクと、物理状態変数と、モータ状態信号と、切削状態信号と、工具情報と、加工情報と、アプリケーション判定情報とを記憶する記憶装置を有する。
【００４１】
特徴量生成部３は、記憶装置に記憶された情報の中から特徴量とする情報を抽出する。数値制御装置１００は、物理状態変数およびモータ状態信号に関する時系列変化の情報を入力として特徴量に含むことで、機械学習モデル計算部４が対象機械１０の動作をより詳細に予測できる。これにより、数値制御装置１００は、実トルクに対する第二の推定トルクの推定精度を向上させることができる。
【００４２】
特徴量生成部３は、特徴量の生成において、第一の推定トルク、物理状態変数、モータ状態信号、切削状態信号、工具情報、加工情報およびアプリケーション判定情報の全てを必ずしも使用しなくても良い。特徴量生成部３は、第一の推定トルク、物理状態変数、モータ状態信号、切削状態信号、工具情報、加工情報およびアプリケーション判定情報のうちの一部のみを使用して特徴量を生成しても良い。特徴量生成部３は、第一の推定トルクと物理状態変数とモータ状態信号との少なくとも一つ、および切削状態信号から特徴量を生成し出力しても良い。
【００４３】
第二のトルク推定部４１は、機械学習部４１１を備える。第二のトルク推定部４１は、特徴量生成部３で生成された特徴量と、第一のトルク推定部２１の出力である第一の推定トルクと、機械学習モデル記憶部４２の出力である機械学習モデルパラメータとを入力とし、特徴量および機械学習モデルパラメータを用いた機械学習部４１１の機械学習に基づいて機械学習補正量を算出する。第二のトルク推定部４１は、第一の推定トルクに機械学習補正量を加算したものを第二の推定トルクとして出力する。
【００４４】
機械学習部４１１は、特徴量生成部３で生成された特徴量と機械学習モデル記憶部４２の出力である機械学習モデルパラメータとを入力とし、実トルクに対する第二の推定トルクの誤差が最小となるよう、機械学習補正量を出力するニューラルネットワークから構成される。すなわち、出力の機械学習補正量の理想的な値は実トルクと第一の推定トルクとの差分と一致し、入力である特徴量に遅延した過去の実トルクと第一の推定トルクとの差分を含むため、機械学習部４１１は、図５に示すような入出力関係に自己回帰項を持つ。
【００４５】
図５は、実施の形態１に係る特徴量生成部３および機械学習モデル計算部４の構成において自己回帰項を示す図である。図５は、図４から自己回帰項に関連する部分を抽出したものである。ここで、機械学習モデルパラメータは、ニューラルネットワークにおける重み行列およびバイアスベクトルを指す。また、ニューラルネットワークの種類として、中間層の入出力関係に再帰的な構造を持つ、リカレントニューラルネットワーク、ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）、ＧＲＵ（Ｇａｔｅｄ  Ｒｅｃｕｒｒｅｎｔ  Ｕｎｉｔ）といったリカレント型と呼ばれるニューラルネットワークを用いることも、このような時系列データに対する予測精度を向上する上で有効な手段である。
【００４６】
また、学習負荷および計算量を削減するため、ニューラルネットワークの代わりに多項式モデル、重回帰モデル、サポートベクター回帰モデル、回帰木、ランダムフォレスト、多変量適応型回帰スプラインモデルなどを用いても良いし、軸間の相互干渉を無視してよい場合などは、軸毎に独立に機械学習部４１１を適用しても良い。
【００４７】
ただし、ニューラルネットワークをはじめとする機械学習部４１１で用いた汎用的な関数近似モデルは、一般的に不連続関数の近似に適していない。そのため、第一の推定トルクにおいて式（２）の線形摩擦モデルによって摩擦分のトルクの近似および補正を行うと、実トルクと第一の推定トルクとの差分が不連続なジャンプを起こし、これらの値を入出力に含み自己回帰項を形成する機械学習部４１１の機械学習モデルパラメータの学習結果および機械学習補正量の算出結果が著しく悪化する可能性がある。さらに、実際の工作機械においては、粘着と滑りとが交互に起こって発生するスティックスリップ現象、ストライベック曲線で表わされるような潤滑に関する摩擦などが影響し、速度ゼロ付近および低速動作時の摩擦は非線形性が強いため、これらのモデルを陽に与えることは非常に困難である。
【００４８】
そこで、式（３）で示した非線形摩擦モデルように、速度ゼロ付近を連続かつ滑らかに接続した摩擦モデルを用いることで、第一の推定トルクおよび特徴量の各値がそれぞれ連続となる。これにより、上述のような第一の推定トルクおよび非線形摩擦モデルで再現が困難な摩擦成分についても、機械学習補正量を加えることによって高精度に推定が可能となる。さらに、特徴量は、過去の一定期間の速度、非線形摩擦モデルの出力などを同時に含むベクトルである。そのため、機械学習部４１１は、摩擦のヒステリシス特性など直前の状態に依存して変化する推定誤差要因についても学習し、機械学習補正量として補正することが可能となる。
【００４９】
このように、第二のトルク推定部４１は、入出力関係に自己回帰項を含む機械学習を用いて特徴量および機械学習モデルパラメータから機械学習補正量を算出する。第二のトルク推定部４１は、算出した機械学習補正量を第一の推定トルクに加算して第二の推定トルクを出力する。また、第二のトルク推定部４１は、入出力関係に自己回帰項を含む機械学習としてニューラルネットワークを用いた機械学習を用いても良い。数値制御装置１００は、機械学習の手法としてニューラルネットワークを利用することで、運動方程式上で表現が困難なトルク成分を非線形多自由度モデルとして学習し保存することが可能となる。
【００５０】
第二のトルク推定部４１は、機械学習補正量を算出するための機械学習において、入出力関係に含まれる自己回帰項として、実トルクと第一の推定トルクとの差分を用いてもよい。実トルクと第一の推定トルクとの差分が第一の推定トルクに対する補正量の目標値である。補正量の目標値は、対象機械１０のモータの動作に伴い時系列的に変化する。このため、数値制御装置１００は、次の時刻の最適な補正量を推定する際、過去の補正量の目標値を入力に含む自己回帰項を備えることで、より高精度に推定することが可能となる。
【００５１】
機械学習モデル記憶部４２は、物理モデル記憶部２２における物理モデルパラメータの学習後に、対象機械１０を一定期間動作させた際の特徴量、および実トルクと第一の推定トルクとの差分をそれぞれ入出力の教師データとして、実トルクと第一の推定トルクとの差分に対する機械学習補正量の誤差が低減するよう機械学習モデルパラメータを学習する。すなわち、機械学習モデル記憶部４２は、機械学習補正量が実トルクと第一の推定トルクとの差分に近づくように機械学習モデルパラメータを教師あり学習により学習する。機械学習モデル記憶部４２は、学習した機械学習モデルパラメータを記憶する。
【００５２】
学習開始時の機械学習モデルパラメータは任意の定数で初期化して良いが、特にニューラルネットワークで表現される機械学習部４１１は、機械学習モデルパラメータである重み行列、バイアスなどに対して初期値依存性を持つ。そのため、機械学習部４１１では、重み行列について、一様分布、通常の正規分布に加えて、切断正規分布、Ｈｅの正規分布、Ｇｌｏｒｏｔの正規分布など、正規分布に由来した確率分布で初期化することが一般的である。
【００５３】
また、機械学習モデル記憶部４２は、学習手法としてミニバッチ勾配降下法および誤差逆伝搬法を利用し、重み行列およびバイアスベクトルで表わされる機械学習モデルパラメータをバッチ毎に更新する。すなわち、機械学習モデル記憶部４２は、機械学習モデルパラメータの学習時に用いる教師あり学習手法として誤差逆伝搬法を用いても良い。ただし、教師データが十分な量だけ用意できない場合などは、機械学習モデル記憶部４２は、ミニバッチ勾配降下法の代わりに通常の勾配降下法、確率的勾配降下法などを用いても良い。
【００５４】
また、機械学習モデル記憶部４２は、機械学習部４１１におけるニューラルネットワークの汎化性能を向上させるため、学習の際にニューロンをランダムに除外するｄｒｏｐｏｕｔ、エポック毎に誤差を監視して学習を早く打ち切るｅａｒｌｙ  ｓｔｏｐｐｉｎｇといった手法を用いるのも有効である。機械学習モデル記憶部４２は、学習時にｄｒｏｐｏｕｔを適用した際は、機械学習補正量の推論時にｄｒｏｐｏｕｔ確率を重み行列に適用する必要があるので、このようなハイパーパラメータについても機械学習モデルパラメータとして追加し保存する。
【００５５】
ここまでの物理モデルパラメータおよび機械学習モデルパラメータの学習の流れを、フローチャートを用いて説明する。図６は、実施の形態１に係る数値制御装置１００における物理モデルパラメータおよび機械学習モデルパラメータの学習の流れを示すフローチャートである。
【００５６】
物理モデル記憶部２２は、諸元表の値から各リンクの物理モデルパラメータである質量、重心位置、および慣性テンソルの初期値を設定する（ステップＳ１）。モータ状態観測部１は、対象機械１０のモータ状態信号である実トルク、位置、速度、および加速度の時系列データを教師データとして出力する（ステップＳ２）。
【００５７】
第一のトルク推定部２１は、位置、速度、および加速度に対して、動力学計算により第一の推定トルクを算出する（ステップＳ３）。第一のトルク推定部２１は、動力学方程式に線形摩擦モデルの項を追加する（ステップＳ４）。物理モデル記憶部２２は、物理モデルパラメータにクーロン摩擦係数および粘性摩擦係数を追加する（ステップＳ５）。物理モデル記憶部２２は、実トルクと第一の推定トルクとの差分から、線形方程式に変形した動力学方程式および最小二乗法を用いて、物理モデルパラメータを同定する（ステップＳ６）。
【００５８】
物理モデル記憶部２２は、同定した物理モデルパラメータにおけるクーロン摩擦係数および粘性摩擦係数を初期値とし、Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄｔ法で非線形摩擦モデルを同定し、得られた各係数を物理モデルパラメータに追加する（ステップＳ７）。物理モデル記憶部２２は、実トルクから第一の推定トルクおよび非線形摩擦モデルの値を引いた結果に対し、摩擦モデルの項を除去し線形方程式に変形した動力学方程式および最小二乗法を用いて、摩擦係数以外の物理モデルパラメータを再び同定する（ステップＳ８）。第一のトルク推定部２１は、動力学方程式に非線形摩擦モデルの項を追加し、学習した物理モデルパラメータを用いて、第一の推定トルクを再び算出する（ステップＳ９）。
【００５９】
特徴量生成部３は、第一の推定トルク、物理状態変数、モータ状態信号、切削状態情報、加工情報、工具情報およびアプリケーション判定情報を入力として、それらを過去の一定期間の値も同時に含むベクトルにまとめ、特徴量として出力する（ステップＳ１０）。機械学習モデル記憶部４２は、機械学習モデルパラメータである重み行列、およびバイアスに対し、重み行列を正規分布で、バイアスを定数で初期化する（ステップＳ１１）。
【００６０】
機械学習モデル記憶部４２は、学習時の条件として、ｅａｒｌｙ  ｓｔｏｐｐｉｎｇ、ｄｒｏｐｏｕｔなどのハイパーパラメータを設定し、それらの値を機械学習モデルパラメータへ追加する（ステップＳ１２）。第二のトルク推定部４１は、入力を特徴量、出力を実トルクと第一の推定トルクとの差分である機械学習補正量の理想値とし、機械学習モデルパラメータにおける学習時の条件に従って、誤差逆伝搬法により機械学習モデルパラメータの重み行列およびバイアスを学習する（ステップＳ１３）。
【００６１】
ここで、第二の推定トルクの汎化性能の向上については、上述の通り、事前に物理モデル記憶部２２において物理モデルパラメータの学習を行い、第一の推定トルクに対する機械学習補正量を自己回帰項として、機械学習モデル記憶部４２において機械学習モデルパラメータの学習を行うことによる寄与が大きい。なぜなら、数値制御装置１００は、物理モデルパラメータと機械学習モデルパラメータとを区別することで、それぞれ運動方程式においてモデル化が容易な既知の物理現象に起因したトルク推定誤差成分と、運動方程式においてモデル化が困難なトルク推定誤差成分とを分けて学習することができ、機械学習部４１１の出力である機械学習補正量の絶対値が小さくなるためである。言い換えれば、陽に与えられるトルク推定誤差成分が機械学習補正量に含まれないため、数値制御装置１００は、機械学習モデルパラメータに含まれるパラメータ数も少なくすることができ、結果として機械学習モデル記憶部４２における学習の過学習の防止と高速化、さらに学習に用いる教師データの削減も可能となる。
【００６２】
機械学習補正量に関する自己回帰項についても同様に、実トルクと物理モデルパラメータに初期値を用いた運動方程式による算出結果の差分を機械学習モデル計算部４で学習し機械学習補正量とする構成、または、物理モデルパラメータに初期値を用いた運動方程式による算出結果を特徴量に含み第二の推定トルクを直接機械学習部４１１の出力として機械学習モデルパラメータを学習する構成に比べ、機械学習補正量の絶対値が小さくなりニューラルネットワークなどによるトルク推定誤差範囲を抑えることができる。さらに、自己回帰項を用いるメリットとして、モータ特性に依存するコギングトルク、トルクリップル、ギア間のトルク伝達におけるバックラッシュの影響など、運動方程式の式中に与えることが困難な時間軸方向に周期的に変化する推定誤差要因を学習しやすい点などが挙げられる。
【００６３】
実際に、物理モデルパラメータを学習した後の第一の推定トルク、さらに実トルクと第一の推定トルクとの差分から機械学習モデルパラメータを学習した第二の推定トルクを図７に示す。図７は、実施の形態１に係る数値制御装置１００の制御対象である対象機械１０の動作を表すモータ速度、数値制御装置１００で推定される第一の推定トルク、および数値制御装置１００で推定される第二の推定トルクを示す図である。各項目において、横軸は時間を示している。図７に示すように、第二の推定トルクの方が、第一の推定トルクよりも実トルクに近似している。
【００６４】
また、機械学習部４１１にニューラルネットワークを用いた場合、特徴量に含まれるどのパラメータが機械学習補正量にどの程度影響したかが明らかでなく、機械学習モデルパラメータの変化から対象機械１０の物性の変化を推測することは非常に困難である。しかしながら、物理モデルパラメータの学習ではそれら物性の各値を直接確認できる実施の形態１では、数値制御装置１００は、物理モデルパラメータと機械学習モデルパラメータとを区別して学習するため、異常検知に適した構成といえる。
【００６５】
学習を行った物理モデル計算部２および機械学習モデル計算部４を用いた異常検知の例として、主に実トルクと第二の推定トルクとの差分を監視する手法が考えられる。数値制御装置１００は、実トルクと第二の推定トルクとの差分を監視することで、観測値がほぼゼロ付近に集中し、絶対値をそのまま実トルクの異常度と捉えられるためである。具体的な異常検知手法としては、実トルクと第二の推定トルクとの差分の絶対値があらかじめ設定された閾値を超えるか否かによって検知を行う単純なものでもよい。その他、特徴量および実トルクと第二の推定トルクとの差分を入力とした正常、異常の２クラス分類問題として、ラベル付けを行った教師データを用意し、ロジスティック回帰、サポートベクターマシン、決定木、ニューラルネットワークなどを用いて判別してもよい。
【００６６】
数値制御装置１００は、教師データである異常時の動作データが集めにくい場合、ＳＭＯＴＥ（Ｓｙｎｔｈｅｔｉｃ  Ｍｉｎｏｒｉｔｙ  Ｏｖｅｒ−ｓａｍｐｌｉｎｇ  ＴＥｃｈｎｉｑｕｅ）、ＡＤＡＳＹＮ（ＡＤＡｐｔｉｖｅ  ＳＹＮｔｈｅｔｉｃ）などを用いて取得された異常時の動作データに対するオーバーサンプリングを行っても良いし、Ｋ−ｍｅａｎｓ法、自己組織化マップなど教師なし学習により正常、異常で分かれる２クラスタに分類しても良い。また、数値制御装置１００において、クラス数およびクラスタ数は正常、異常の二つに限定されず、異常度の度合いに合わせてより細かく段階的に設定しても良いし、実トルクと第二の推定トルクとの差分の絶対値以外の異常度を任意に設定しても良い。
【００６７】
図１の破線で示した、物理モデル記憶部２２における物理モデルパラメータ、および機械学習モデル記憶部４２における機械学習モデルパラメータの学習のタイミングについて、故障検知を目的とした用途を想定すると、出荷段階の試験運転時など数値制御装置１００が劣化度合いの比較対象として理想的な状態となる環境で実行することが望ましい。ただし、工作機械は、主軸と工具１４とが先端に取り付けられ、テーブル１３に置かれたワーク１５を切削するため、その場合、各リンクの質量、重心位置、慣性テンソルといった物性が変化する。このため、数値制御装置１００は、各状態で物理モデルパラメータおよび機械学習モデルパラメータをどちらも学習し直すなど、ワーク１５の質量を考慮する必要がある。
【００６８】
一般的にワーク１５を設置した際、これらの物理モデルパラメータへの影響を数値制御装置１００などによって設定する手間が発生していた。これに対し、実施の形態１では、物理モデル記憶部２２において、対象機械１０を一定期間動作させた際のモータ状態信号からそれらを学習することで、この設定の過程についても自動化することが可能となっている。また、物理モデルパラメータの値が正しく設定されていることで、サイクルタイム、軌跡ずれ、衝突時の押しつけ力などが減少するといった利点もあり、位置制御、速度制御などに加えて、力制御、インピーダンス制御の高速化、高精度化にも応用可能な技術であり、上述の手法の用途は異常検知に限定されるものではない。
【００６９】
機械学習モデル記憶部４２は、対象機械１０による切削が行われているときにおける教師あり学習と、対象機械１０による切削が行われていないときにおける教師あり学習とを個別に行う。機械学習モデル記憶部４２は、切削が行われているときにおける入出力に基づいた学習による機械学習モデルパラメータと、切削が行われていないときにおける入出力に基づいた学習による機械学習モデルパラメータとを記憶する。機械学習モデル計算部４は、切削状態信号とアプリケーション判定情報とを含む特徴量が入力されることによって、切削時についての学習と非切削時についての学習とを切り換えて実行することができる。
【００７０】
図８は、実施の形態１における数値制御装置１００による異常検知について説明するための図である。図８には、実トルクと、数値制御装置１００で推定される第二の推定トルクとを示す。横軸は時間を示す。ここで説明する処理は、アプリケーション判定情報が、異常を検知するための判定を示す場合に実行される。
【００７１】
実施の形態１において、機械学習モデル計算部４は、異常検知を示すアプリケーション判定情報が特徴量として入力された場合、実トルクと機械学習モデル計算部４によって計算された第二の推定トルクとの差分を第二のトルク推定部４１において監視する。第二のトルク推定部４１は、切削が行われていないときにおける入出力に基づいた学習による機械学習モデルパラメータから第二の推定トルクを算出し、実トルクと算出された第二の推定トルクとの差分を監視する。第二のトルク推定部４１は、差分がある一定の値以上になった場合に異常の発生を検知する。異常とは、モータのトルク異常である。
【００７２】
数値制御装置１００は、切削状態信号が非切削を示す場合において、非切削時についての学習モデルを使用した計算を機械学習モデル計算部４が行うことによって、トルクの異常を検知することができる。数値制御装置１００は、異常が検知された場合、実トルクと第二の推定トルクとの差分が上記一定の値以下になるように加工条件のパラメータを調整する。例を挙げると、数値制御装置１００は、送り速度を下げる調整を行う。数値制御装置１００は、異常が検知された場合、異常が検知されたことを示すアラームを出力しても良い。
【００７３】
実施の形態２．
実施の形態２では、数値制御装置１００において切削負荷を検知する場合について説明する。実施の形態２では、上記の実施の形態１と同一の構成要素には同一の符号を付し、実施の形態１と重複する説明を省略する。図９は、実施の形態２における数値制御装置１００による切削負荷の検知について説明するための図である。図９には、実トルクと、数値制御装置１００で推定される第二の推定トルクとを示す。横軸は時間を示す。
【００７４】
実施の形態２における処理は、アプリケーション判定情報が、切削負荷を検知するための判定を示す場合に実行される。切削状態信号が非切削を示す場合において、第一のトルク推定部２１は、動力方程式に非線形摩擦モデルの項を追加し、学習した物理モデルパラメータを用いて第一の推定トルクを算出する。特徴量生成部３は、第一の推定トルクと、物理状態変数と、モータ状態信号と、切削状態信号と、工具情報と、加工情報と、アプリケーション判定情報とを入力とし、機械学習部４１１への入力である特徴量を出力する。
【００７５】
機械学習モデル記憶部４２は、切削負荷検知を示すアプリケーション判定情報と非切削を示す切削状態信号とが特徴量として入力された場合に、機械学習モデルパラメータの重み行列を機械学習モデル記憶部４２に記憶する。第二のトルク推定部４１は、入力を特徴量、出力を実トルクと第一の推定トルクとの差分である機械学習補正量の理想値とし、機械学習モデルパラメータにおける学習時の条件に従って、誤差逆伝搬法により機械学習モデルパラメータの重み行列およびバイアスを学習する。
【００７６】
切削状態信号が非切削を示す場合における入出力に基づいた学習による学習モデルにおいて、第二のトルク推定部４１で計算される第二の推定トルクは、対象機械１０を動作させる実トルクに近似する。しかし、切削状態信号が切削を示す場合、対象機械１０が実際にワーク１５を切削する際の実トルクとしては、対象機械１０を動作させるトルクとワーク１５を切削するためのトルクとを合算したトルクが計測される。そのため、数値制御装置１００は、計測された実トルクから第二の推定トルクを差し引くことによって、対象機械１０がワーク１５を切削する際に必要なトルクである切削負荷トルクを求めることができる。切削負荷検知とは、切削負荷トルクを求めることを指す。
【００７７】
実施の形態２において、機械学習モデル計算部４は、切削負荷を検知するための判定を示すアプリケーション判定情報が特徴量として入力された場合、実トルクと機械学習モデル計算部４によって計算された第二の推定トルクとの差分である切削負荷トルクを、第二のトルク推定部４１において求める。第二のトルク推定部４１は、切削が行われていないときにおける入出力に基づいた学習による機械学習モデルパラメータから第二の推定トルクを算出し、実トルクと算出された第二の推定トルクとの差分である切削負荷トルクを求める。数値制御装置１００は、切削状態信号が非切削を示す場合において、非切削時についての学習モデルを使用した計算を機械学習モデル計算部４が行うことによって、切削負荷を検知することができる。
【００７８】
実施の形態３．
実施の形態３では、数値制御装置１００において工具１４の摩耗または欠損を検知する場合について説明する。実施の形態３では、上記の実施の形態１または２と同一の構成要素には同一の符号を付し、実施の形態１または２と重複する説明を省略する。図１０は、実施の形態３における数値制御装置１００による工具１４の摩耗または欠損の検知について説明するための図である。図１０には、実トルクと、数値制御装置１００で推定される第二の推定トルクとを示す。横軸は時間を示す。
【００７９】
実施の形態３における処理は、アプリケーション判定情報が、工具１４の摩耗または欠損を検知するための判定を示す場合に実行される。切削状態信号が切削を示す場合において、第一のトルク推定部２１は、動力方程式に非線形摩擦モデルの項を追加し、学習した物理モデルパラメータを用いて第一の推定トルクを算出する。特徴量生成部３は、第一の推定トルクと、物理状態変数と、モータ状態信号と、切削状態信号と、工具情報と、加工情報と、アプリケーション判定情報とを入力とし、機械学習部４１１への入力である特徴量を出力する。
【００８０】
機械学習モデル記憶部４２は、工具１４の摩耗または欠損を検知するための判定を示すアプリケーション判定情報と切削を示す切削状態信号とが特徴量として入力された場合に、機械学習モデルパラメータの重み行列を機械学習モデル記憶部４２に記憶する。第二のトルク推定部４１は、入力を特徴量、出力を実トルクと第一の推定トルクとの差分である機械学習補正量の理想値とし、機械学習モデルパラメータにおける学習時の条件に従って、誤差逆伝搬法により機械学習モデルパラメータの重み行列およびバイアスを学習する。
【００８１】
切削状態信号が切削を示す場合における入出力に基づいた学習による学習モデルにおいて、第二のトルク推定部４１で計算される第二の推定トルクは、対象機械１０を動作させる実トルクと切削負荷トルクとの合算である実トルクと推定できる。アプリケーション判定情報が工具１４の摩耗または欠損を検知するための判定を示す場合において、数値制御装置１００は、第二の推定トルクから計測された実トルクを差し引くことによって、工具１４の摩耗によって上昇した切削負荷トルクを求めることができる。そのため、数値制御装置１００は、第二の推定トルクと計測された実トルクとの差分である切削負荷トルクから、工具１４の摩耗の度合いを検知することができる。また、アプリケーション判定情報が工具１４の摩耗または欠損を検知するための判定を示す場合において、数値制御装置１００は、計測される第二の推定トルクが、対象機械１０を動作させる実トルクのみである場合、工具１４の欠損を検知することができる。
【００８２】
実施の形態３において、機械学習モデル計算部４は、工具１４の摩耗または欠損を検知するための判定を示すアプリケーション判定情報が特徴量として入力された場合、実トルクと機械学習モデル計算部４によって計算された第二の推定トルクとの差分を第二のトルク推定部４１において監視する。第二のトルク推定部４１は、切削が行われているときにおける入出力に基づいた学習による機械学習モデルパラメータから第二の推定トルクを算出し、実トルクと算出された第二の推定トルクとの差分を監視する。
【００８３】
第二のトルク推定部４１は、第二の推定トルクよりも計測された実トルクが大きい場合、第二の推定トルクと計測された実トルクとの差分の上昇分を、工具１４の摩耗による切削負荷トルクの上昇分と推定する。第二のトルク推定部４１は、切削負荷トルクの上昇分に基づいて、工具１４の摩耗の度合いを検知する。また、第二のトルク推定部４１は、第二の推定トルクよりも計測された実トルクが小さいか、または第二の推定トルクよりも計測された実トルクが極端に小さい場合、工具１４が欠損したことを検知する。
【００８４】
数値制御装置１００は、切削状態信号が切削を示す場合において、切削時についての学習モデルを使用した計算を機械学習モデル計算部４が行うことによって、工具１４の摩耗または欠損を検知することができる。数値制御装置１００は、工具１４の摩耗または欠損が検知された場合、対象機械１０を減速および停止させる。数値制御装置１００は、工具１４の摩耗または欠損が検知された場合、工具１４の摩耗または欠損が検知されたことを示すアラームを出力しても良い。
【００８５】
次に、実施の形態１から３に係る数値制御装置１００のハードウェア構成について説明する。数値制御装置１００において、モータ状態観測部１、物理モデル計算部２、特徴量生成部３、機械学習モデル計算部４および切削状態観測部５は、処理回路により実現される。処理回路は、メモリに格納されるプログラムを実行するプロセッサおよびメモリであっても良いし、専用のハードウェアであっても良い。
【００８６】
図１１は、実施の形態１から３に係る数値制御装置１００が備える処理回路をプロセッサ９１およびメモリ９２で構成する場合の例を示す図である。処理回路がプロセッサ９１およびメモリ９２で構成される場合、数値制御装置１００の処理回路の各機能は、ソフトウェア、ファームウェア、またはソフトウェアとファームウェアとの組み合わせにより実現される。ソフトウェアまたはファームウェアはプログラムとして記述され、メモリ９２に格納される。処理回路では、メモリ９２に記憶されたプログラムをプロセッサ９１が読み出して実行することにより、各機能を実現する。すなわち、処理回路は、数値制御装置１００の処理が結果的に実行されることになるプログラムを格納するためのメモリ９２を備える。また、これらのプログラムは、数値制御装置１００の手順および方法をコンピュータに実行させるものであるともいえる。
【００８７】
プロセッサ９１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などであってもよい。また、メモリ９２には、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの、不揮発性または揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、またはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）などが該当する。
【００８８】
図１２は、実施の形態１から３に係る数値制御装置１００が備える処理回路を専用のハードウェアで構成する場合の例を示す図である。処理回路が専用のハードウェアで構成される場合、図１２に示す処理回路９３は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはこれらを組み合わせたものが該当する。数値制御装置１００の各機能を機能別に処理回路９３で実現しても良いし、各機能をまとめて処理回路９３で実現しても良い。
【００８９】
なお、数値制御装置１００の各機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。このように、処理回路は、専用のハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせによって、上述の各機能を実現することができる。
【００９０】
以上説明したように、実施の形態１から３では、数値制御装置１００のモデルを、対象機械１０の力学的物性と運動方程式上で陽に与えられる物理現象の情報を利用してトルクの推定を行う物理モデル計算部２と、物理モデル計算部２の推定トルクに対する補正量を自己回帰項として含み、運動方程式上で表現が困難な非線形性の強いトルク成分の推定を行う機械学習モデル計算部４の組み合わせで表現する。数値制御装置１００は、これらを順に学習することで、実トルクに対するトルク推定精度および汎化性能が高い対象機械１０のモデルを、少量の動作データから高速に学習することができる。また、数値制御装置１００は、実トルクとトルク推定値とを比較する、すなわち実機と学習したモデルとを比較することで、軽微な異常についても検知が可能となる。
【００９１】
すなわち、数値制御装置１００は、物理モデルパラメータと機械学習モデルパラメータとを順に学習することで、それぞれ対象機械１０の力学的物性、運動方程式上で陽に与えられる物理現象によるトルク成分と、運動方程式上で表現が困難な非線形性の強いトルク成分とを区別して学習し、推定することができる。これにより、数値制御装置１００は、学習全体にかかる時間を短縮し、機械学習補正量の絶対値が物理モデルパラメータの学習により小さくなるので、実トルクに対する第二の推定トルクの汎化性能を向上させることができる。また、数値制御装置１００は、第二のトルク推定部４１において、入出力関係の自己回帰項により時間軸方向の特徴量間の相関を効率的に学習させることで、第二の推定トルクの推定精度を向上させることができる。以上により、数値制御装置１００は、非線形性が強い複雑な現象に対しても、高精度なトルク推定が可能となるという効果を奏する。
【００９２】
なお、実施の形態１から３では、工作機械である対象機械１０を数値制御装置１００による制御対象としたが、数値制御装置１００は、機械の軸数、関節の直動、回転の機構によらず適用が可能である。数値制御装置１００は、ロボットなどによる切削制御、実装機などにも適用することができる。
【００９３】
以上の各実施の形態に示した構成は、本開示の内容の一例を示すものである。各実施の形態の構成は、別の公知の技術と組み合わせることが可能である。各実施の形態の構成同士が適宜組み合わせられても良い。本開示の要旨を逸脱しない範囲で、各実施の形態の構成の一部を省略または変更することが可能である。
【符号の説明】
【００９４】
１  モータ状態観測部、２  物理モデル計算部、３  特徴量生成部、４  機械学習モデル計算部、５  切削状態観測部、１０  対象機械、１１  コラム、１２  主軸ヘッド、１３  テーブル、１４  工具、１５  ワーク、２１  第一のトルク推定部、２２  物理モデル記憶部、４１  第二のトルク推定部、４２  機械学習モデル記憶部、９１  プロセッサ、９２  メモリ、９３  処理回路、１００  数値制御装置、４１１  機械学習部。
【要約】
数値制御装置（１００）は、モータの状態を観測した結果を示すモータ状態信号を出力するモータ状態観測部（１）と、工作機械が切削を行っているか否かを示す切削状態信号を出力する切削状態観測部（５）と、モータ状態信号および工作機械の物理モデルパラメータに基づき、モータのトルクの推定値である第一の推定トルクと第一の推定トルクの成分である物理状態変数とを出力する第一のトルク推定部（２１）と、第一の推定トルクと物理状態変数とモータ状態信号との少なくとも一つ、および切削状態信号から特徴量を生成する特徴量生成部（３）と、特徴量および機械学習モデルパラメータから機械学習補正量を算出し、算出した機械学習補正量がモータ状態信号に含まれる実トルクと第一の推定トルクとの差分に近づくように機械学習モデルパラメータを学習し、学習した機械学習モデルパラメータを記憶する機械学習モデル計算部（４）と、を備える。【図１】
0006949284.tif 000004
【図２】
0006949284.tif 000005
【図３】
0006949284.tif 000006
【図４】
0006949284.tif 000007
【図５】
0006949284.tif 000008
【図６】
0006949284.tif 000009
【図７】
0006949284.tif 000010
【図８】
0006949284.tif 000011
【図９】
0006949284.tif 000012
【図１０】
0006949284.tif 000013
【図１１】
0006949284.tif 000014
【図１２】
0006949284.tif 000015