(57)【要約】【課題】マスタ軸に速度変化が生じる場合であっても高精度な同期制御を行うことが可能な制御装置及び機械学習装置を提供すること。【解決手段】本発明の制御装置１０は、マスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習する機械学習装置２０を備え、機械学習装置２０は、マスタ軸の未来の予想位置を示すマスタ軸予想位置データ、及びマスタ軸の動作状態を示すマスタ軸動作状態データを、環境の現在状態を表す状態変数として観測する状態観測部２２と、スレーブ軸の同期誤差の適否判定結果を示す判定データを取得する判定データ取得部２４と、状態変数と判定データとを用いて、マスタ軸の未来の予想位置をマスタ軸動作状態データと関連付けて学習する学習部２６と、を備える。【選択図】図１
2018190068.tif 000002
【特許請求の範囲】
【請求項１】
マスタ軸の位置に同期するようにスレーブ軸を同期制御する制御装置であって、
前記マスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習する機械学習装置を備え、
前記機械学習装置は、
前記マスタ軸の未来の予想位置を示すマスタ軸予想位置データ、及び前記マスタ軸の動作状態を示すマスタ軸動作状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記スレーブ軸の同期誤差の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記マスタ軸の未来の予想位置を前記マスタ軸動作状態データと関連付けて学習する学習部と、
を備える制御装置。
【請求項２】
前記状態観測部は、前記状態変数として、前記スレーブ軸の動作状態を示すスレーブ軸動作状態データを更に観測し、
前記学習部は、前記マスタ軸の未来の予想位置を前記マスタ軸動作状態データ及び前記スレーブ軸動作状態データの双方と関連付けて学習する、
請求項１に記載の制御装置。
【請求項３】
前記学習部は、
前記適否判定結果に関連する報酬を求める報酬計算部と、
前記報酬を用いて、前記マスタ軸の動作状態に対する前記マスタ軸の未来の予想位置の価値を表す関数を更新する価値関数更新部とを備える、
請求項１または２に記載の制御装置。
【請求項４】
前記学習部は、前記状態変数と前記判定データとを多層構造で演算する、
請求項１〜３のいずれか１つに記載の制御装置。
【請求項５】
前記学習部による学習結果に基づいて、前記マスタ軸の未来の予想位置を出力する意思決定部を更に備える、
請求項１〜４のいずれか１つに記載の制御装置。
【請求項６】
意思決定部が出力した前期マスタ軸の未来の予想位置に基づく同期指令をスレーブ軸に行う、
請求項５に記載の制御装置。
【請求項７】
前記学習部は、複数の機械のそれぞれについて得られた前記状態変数及び前記判定データを用いて、該複数の機械のそれぞれにおける前記マスタ軸の未来の予想位置を学習する、
請求項１〜６のいずれか１つに記載の制御装置。
【請求項８】
前記機械学習装置は、クラウドサーバ又はセルコントローラに存在する、
請求項１〜７のいずれか１つに記載の制御装置。
【請求項９】
マスタ軸の位置に対してスレーブ軸を同期させる機械の同期制御における前記マスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習する機械学習装置であって、
前記マスタ軸の未来の予想位置を示すマスタ軸予想位置データ、及び前記マスタ軸の動作状態を示すマスタ軸動作状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、
前記スレーブ軸の同期誤差の適否判定結果を示す判定データを取得する判定データ取得部と、
前記状態変数と前記判定データとを用いて、前記マスタ軸の未来の予想位置を前記マスタ軸動作状態データと関連付けて学習する学習部と、
を備える機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び機械学習装置に関し、特に外部軸への高精度な同期制御を行う制御装置及び機械学習装置に関する。
【背景技術】
【０００２】
従来、マスタ軸の位置をセンサ等で検出することによりマスタ軸の実際の位置（実位置）を求め、該実位置に同期するように同期指令をスレーブ軸に与える同期制御を行っている（例えば、特許文献１など）。
【０００３】
図８は、マスタ軸の実位置に対するスレーブ軸の指令位置と実位置の関係を例示する図である。図８に示すように、同期制御において、（１）センサ等でマスタ軸の実位置を検出し、（２）検出された実位置に対して同期させる指令をスレーブ軸に対して行うと、（３）スレーブ軸の実位置はサーボ遅れ等による遅れ時間が経過した後に指令された位置へと到達するため、マスタ軸の実位置とスレーブ軸の実位置との間に該遅れ時間による同期誤差が生じる。
【０００４】
このような同期誤差を解消するために、同期制御をする際には、図９に示すように、（１）スレーブ軸のサーボ遅れ等による遅れ時間を考慮したマスタ軸の未来の位置を予想し、（２）マスタ軸の予想位置に同期させる指令をスレーブ軸に対して行っている。マスタ軸の未来の位置を予想する際には、例えば、過去のマスタ軸の移動速度の平均値などを利用し、予想時間だけ等速で動くと仮定して求める（予想位置＝（マスタ軸平均速度×予想時間）＋マスタ軸の現在位置）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−００４４３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、マスタ軸の移動速度に加速、減速、停止などの速度変動があると、同期制御におけるマスタ軸の未来の位置の予想がはずれてしまう。このような場合、マスタ軸の予想位置に基づくスレーブ軸の同期位置と、マスタ軸の実位置に基づくスレーブ軸の正しい同期位置との差が大きくなり、同期誤差が生じてしまう。例えば、図１０に示すように、（１）マスタ軸が移動速度を変更した場合、（２）マスタ軸の未来の位置の予想がマスタ軸の未来の実位置とずれることとなり、（３）マスタ軸の実位置に基づくスレーブ軸の正しい同期位置へとスレーブ軸の位置が修正されるまでの間は同期誤差が生じている状態となってしまう。
【０００７】
このような課題に対して、特許文献１では同期制御中に位置制御のゲインを切換えることにより、マスタ軸に速度変化が生じた際の同期誤差の増大を抑制するようにしているが、同期誤差の発生そのものを抑制することができないという問題があった。
【０００８】
そこで本発明の目的は、マスタ軸に速度変化が生じる場合であっても高精度な同期制御を行うことが可能な制御装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明の制御装置では、過去の所定期間におけるマスタ軸の実位置に対するマスタ軸の所定時間後の未来の位置の対応関係を機械学習する。本発明の制御装置は、機械学習した結果に基づいて、過去の所定期間におけるマスタ軸の実位置を用いてマスタ軸の所定時間後の未来の位置を予想し、その予想したマスタ軸の未来の位置に対してスレーブ軸を同期させることにより、高精度な同期制御を実現する。
【００１０】
そして、本発明の一態様は、マスタ軸の位置に同期するようにスレーブ軸を同期制御する制御装置であって、前記マスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習する機械学習装置を備え、前記機械学習装置は、前記マスタ軸の未来の予想位置を示すマスタ軸予想位置データ、及び前記マスタ軸の動作状態を示すマスタ軸動作状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記スレーブ軸の同期誤差の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記マスタ軸の未来の予想位置を前記マスタ軸動作状態データと関連付けて学習する学習部と、を備える制御装置である。
【００１１】
本発明の他の態様は、マスタ軸の位置に対してスレーブ軸を同期させる機械の同期制御における前記マスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習する機械学習装置であって、前記マスタ軸の未来の予想位置を示すマスタ軸予想位置データ、及び前記マスタ軸の動作状態を示すマスタ軸動作状態データを、環境の現在状態を表す状態変数として観測する状態観測部と、前記スレーブ軸の同期誤差の適否判定結果を示す判定データを取得する判定データ取得部と、前記状態変数と前記判定データとを用いて、前記マスタ軸の未来の予想位置を前記マスタ軸動作状態データと関連付けて学習する学習部と、を備える機械学習装置である。
【発明の効果】
【００１２】
本発明により、マスタ軸に速度変化が生じる場合であっても高精度な同期制御を行うことが可能な制御装置及び機械学習装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態による制御装置の概略的な機能ブロック図である。
【図２】制御装置の一形態を示す概略的な機能ブロック図である。
【図３】機械学習方法の一形態を示す概略的なフローチャートである。
【図４Ａ】ニューロンを説明する図である。
【図４Ｂ】ニューラルネットワークを説明する図である。
【図５】第２の実施形態による制御装置の概略的な機能ブロック図である。
【図６】部品実装システムの一形態を示す概略的な機能ブロック図である。
【図７】部品実装システムの他の形態を示す概略的な機能ブロック図である。
【図８】従来技術によるマスタ軸に対するスレーブ軸の同期制御について説明する図である。
【図９】従来技術によるマスタ軸に対するスレーブ軸の同期制御について説明する図である。
【図１０】従来技術によるマスタ軸に対するスレーブ軸の同期制御の問題点について説明する図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面と共に説明する。
図１は、第１の実施形態による制御装置１０の概略的な機能ブロック図である。制御装置１０は、例えば、マスタ軸の位置に同期するようにスレーブ軸を制御する同期制御を行う制御装置として実装することができる。制御装置１０は、マスタ軸の過去の動作状態に対する該マスタ軸の未来の位置を、いわゆる機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）を含む機械学習装置２０を備える。制御装置１０が備える機械学習装置２０が学習するものは、マスタ軸の過去の動作状態と、当該状態における該マスタ軸の未来の位置との、相関性を表すモデル構造に相当する。
【００１５】
図１に機能ブロックで示すように、制御装置１０が備える機械学習装置２０は、マスタ軸の過去の動作状態に対して予想されたマスタ軸の未来の位置を示すマスタ軸予想位置データＳ１と、マスタ軸の過去の動作状態を示すマスタ軸動作状態データＳ２を含む環境の現在状態を表す状態変数Ｓとして観測する状態観測部２２と、予想されたマスタ軸の未来の位置に基づいて同期制御されたスレーブ軸の位置の同期誤差の適否判定結果を示す判定データＤを取得する判定データ取得部２４と、状態変数Ｓと判定データＤとを用いて、マスタ軸予想位置データＳ１にマスタ軸動作状態データＳ２を関連付けて学習する学習部２６とを備える。
【００１６】
状態観測部２２は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは状態観測部２２は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。状態観測部２２が観測する状態変数Ｓのうち、マスタ軸予想位置データＳ１は、制御装置１０がスレーブ軸の位置を指令する時点からスレーブ軸のサーボ遅れ等の所定の遅れ時間Ｔ2後の未来のマスタ軸の予想される位置である。マスタ軸予想位置データＳ１は、学習の初期においては、例えば熟練した作業者がマスタ軸の位置に対して制御装置１０に与えるスレーブ軸の教示位置に基づいてサーボ遅れ等を考慮して算出したり、従来技術により予想されたマスタ軸の予想位置を用いたりすることができる。また、マスタ軸予想位置データＳ１は、学習がある程度進んだ段階では、機械学習装置２０が学習部２６の学習結果に基づいて１つ前の処理サイクルにおいて予想したマスタ軸の予想位置を用いることができ、このような場合においては、機械学習装置２０は予想したマスタ軸の予想位置を処理サイクル毎に内部メモリ（図示せず）に一時的に記憶しておき、状態観測部２２は、内部メモリから１つ前の処理サイクルにおいて機械学習装置２０が予想したマスタ軸の予想位置を取得するようにしても良い。
【００１７】
また、状態変数Ｓのうち、マスタ軸動作状態データＳ２は、例えばマスタ軸を備えた機械に付設された第１の測定装置（図示せず）が実測したマスタ軸の実位置の値や、マスタ軸を制御する制御装置から取得されたマスタ軸の実位置などを用いて生成された、マスタ軸の過去の位置の系列を用いることができる。マスタ軸動作状態データＳ２は、例えば、現在時刻から、あらかじめ定めた所定の時間Ｔ1だけ過去に遡った期間における、一定時間ｔ毎のマスタ軸の実位置の集合を用いることができる。所定の時間Ｔ1は、マスタ軸の動作の中で等速運動が継続される期間よりも少なくとも長いことが望ましい。マスタ軸動作状態データＳ２は、マスタ軸の位置に限らず、マスタ軸の速度、加速度、トルク、電流、モータ温度、マスタ軸への指令（位置指令、速度指令、トルク指令）などのデータのいずれか、もしくは複数とすることもできる。
【００１８】
第１の測定装置は、マスタ軸の実位置を測定するために用いられる測定装置である。第１の測定装置は、例えばマスタ軸を備えた機械の所定の基準位置からの距離などを測定するものであり、第１の測定装置が測定した所定の基準位置からの距離に基づいてマスタ軸の実位置が演算される。この演算は、例えば制御装置１０が行ったり、状態観測部２２自体が行ったりすることもできる。第１の測定装置としては、ロータリエンコーダ、リニアエンコーダ、光学的撮像装置、赤外線レーザ、超音波計測器等を採用できる。
【００１９】
判定データ取得部２４は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは判定データ取得部２４は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。判定データ取得部２４が取得する判定データＤは、実際にスレーブ軸の同期制御が行われた後で、サーボ遅れ等の時間の後に同期制御による指令位置までスレーブ軸が移動した時点で、マスタ軸の実位置を例えば第１の測定装置やマスタ軸を制御する制御装置から取得されたマスタ軸の実位置に基づくスレーブ軸の正しい同期位置を求め、同期制御の指令位置と正しい同期位置との差（いわゆる、同期誤差）を演算することで取得することができる。判定データＤは、状態変数Ｓの下で同期制御を実行した時の結果を表す指標であって、同期制御の状態を間接的に表すものである。
【００２０】
このように、制御装置１０が備える機械学習装置２０が学習を進める間、環境においては、マスタ軸動作状態データＳ２の取得、スレーブ軸の同期制御の実施、判定データＤとしての同期誤差の取得が実施される。
【００２１】
学習部２６は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは学習部２６は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。学習部２６は、機械学習と総称される任意の学習アルゴリズムに従い、マスタ軸の過去の動作状態に対する該マスタ軸の未来の位置を学習する。学習部２６は、マスタ軸の位置に対するスレーブ軸の同期制御を複数サイクル行うことに対して、前述した状態変数Ｓと判定データＤとを含むデータ集合に基づく学習を反復実行することができる。マスタ軸の位置に対するスレーブ軸の同期制御に対する学習サイクルの反復中、状態変数Ｓのうちマスタ軸予想位置データＳ１は、前回までの学習サイクルで得たマスタ軸の予想位置とし、また判定データＤは、当該決定したマスタ軸の予想位置に基づくスレーブ軸の同期制御における同期誤差の適否判定結果とする。
【００２２】
このような学習サイクルを繰り返すことにより、学習部２６は、マスタ軸の過去の動作状態（マスタ軸動作状態データＳ２）とマスタ軸の未来の予想位置との相関性を暗示する特徴を自動的に識別することができる。学習アルゴリズムの開始時にはマスタ軸動作状態データＳ２とマスタ軸の未来の予想位置との相関性は実質的に未知であるが、学習部２６は、学習を進めるに従い徐々に特徴を識別して相関性を解釈する。マスタ軸動作状態データＳ２とマスタ軸の未来の予想位置との相関性が、ある程度信頼できる水準まで解釈されると、学習部２６が反復出力する学習結果は、現在状態（つまりマスタ軸の動作状態）に対してどのようなマスタ軸の未来の予想位置に基づいてスレーブ軸の同期制御をするべきかと言う行動の選択（つまり意思決定）を行うために使用できるものとなる。つまり学習部２６は、学習アルゴリズムの進行に伴い、マスタ軸の動作状態と、当該状態に対してのマスタ軸の未来の予想位置との相関性を最適解に徐々に近づけることができる。そして、学習部２６によるマスタ軸の動作状態と、当該状態に対してのマスタ軸の未来の予想位置との相関性の学習が最適化されるにつれて、マスタ軸の動作状態に対してより適切なスレーブ軸の同期制御が行えるようになっていく。
【００２３】
上記したように、制御装置１０が備える機械学習装置２０は、状態観測部２２が観測した状態変数Ｓと判定データ取得部２４が取得した判定データＤとを用いて、学習部２６が機械学習アルゴリズムに従い、マスタ軸の過去の動作状態に対する該マスタ軸の未来の位置を学習するものである。状態変数Ｓは、マスタ軸予想位置データＳ１及びマスタ軸動作状態データＳ２といった、外乱の影響を受け難いデータで構成され、また判定データＤは、マスタ軸の未来の予測位置に基づいて同期制御した時のスレーブ軸の同期誤差を求めることにより一義的に求められる。マスタ軸動作状態データＳ２については、例えば第１の測定装置の能力やマスタ軸の制御装置から取得される値の精度に依存するが、それ自体高精度のマスタ軸動作状態データＳ２を観測できることが期待される。また判定データＤについても、第１の測定装置の能力やマスタ軸の制御装置から取得される値の精度に依存して、高精度の判定データＤを取得できることが期待される。したがって、制御装置１０が備える機械学習装置２０によれば、学習部２６の学習結果を用いることで、マスタ軸の動作状態に応じた、該マスタ軸の未来の予想位置を、演算や目算によらずに自動的に、しかも正確に求めることができるようになる。
【００２４】
マスタ軸の動作状態に応じた、該マスタ軸の未来の予想位置を、演算や目算によらずに自動的に求めることができれば、スレーブ軸の同期制御を開始する前にマスタ軸の動作状態（マスタ軸動作状態データＳ２）を把握するだけで、マスタ軸の未来の予想位置を迅速に決定することができる。
【００２５】
上記した実施例によれば、特にマスタ軸が所定の周期でサイクル動作を行っている場合には、学習を繰り返すことによりマスタ軸の動作状態に対する未来の予想位置を高精度に予測できるようになる。
また、マスタ軸において減速機の歯車の摩耗や劣化等が発生したり、また、温度変化や振動等などによりマスタ軸の動作に影響が出たりすることで、マスタ軸の速度変動に変化が生じたとしても、マスタ軸の速度変動の変化に応じた該マスタ軸の未来の予想位置の学習を行うことができるので、該学習結果に基づいてマスタ軸の速度変動の変化に追従したマスタ軸の未来の位置の予測をすることが期待できる。
【００２６】
制御装置１０が備える機械学習装置２０の一変形例として、状態観測部２２は、状態変数Ｓとして、スレーブ軸の実位置などを含むスレーブ軸動作状態データＳ３を更に観測することができる。スレーブ軸動作状態データＳ３は、例えば現在時刻から、あらかじめ定めた所定の時間Ｔ3だけ過去に遡った期間における、一定時間ｔ毎のスレーブ軸の実位置の集合を用いることができる。状態観測部２２は、例えば制御装置１０により制御されるスレーブ軸のサーボ制御部などからスレーブ軸動作状態データＳ３を取得できる。このようにする場合、学習部２６は、マスタ軸の未来の予想位置を、マスタ軸動作状態データＳ２とスレーブ軸動作状態データＳ３との双方と関連付けて学習することができる。スレーブ軸動作状態データＳ３は、スレーブ軸の位置に限らず、スレーブ軸の速度、加減速、トルク、電流、モータ速度、マスタ軸とスレーブ軸の同期関係データなどのデータのいずれか、もしくは複数とすることもできる。
【００２７】
上記変形例によれば、機械学習装置２０は、マスタ軸の動作状態に加えてスレーブ軸の動作状態をと関連付けてマスタ軸の未来の予想位置を学習することができるので、マスタ軸の動作状態に変化がない場合において、スレーブ軸に外乱等が加わることで動作状態が変化したとしても、その状態におけるスレーブ軸の同期のための最適なマスタ軸の未来の予想位置を学習することができる。
【００２８】
制御装置１０が備える機械学習装置２０の他の変形例として、学習部２６は、同一の構成を有する複数の機械のそれぞれについて得られた状態変数Ｓ及び判定データＤを用いて、それら機械におけるマスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習することができる。この構成によれば、一定時間で得られる状態変数Ｓと判定データＤとを含むデータ集合の量を増加できるので、より多様なデータ集合を入力として、機械におけるマスタ軸の動作状態に対する該マスタ軸の未来の予想位置の学習の速度や信頼性を向上させることができる。
【００２９】
上記構成を有する機械学習装置２０では、学習部２６が実行する学習アルゴリズムは特に限定されず、機械学習として公知の学習アルゴリズムを採用できる。図２は、図１に示す制御装置１０の一形態であって、学習アルゴリズムの一例として強化学習を実行する学習部２６を備えた構成を示す。強化学習は、学習対象が存在する環境の現在状態（つまり入力）を観測するとともに現在状態で所定の行動（つまり出力）を実行し、その行動に対し何らかの報酬を与えるというサイクルを試行錯誤的に反復して、報酬の総計が最大化されるような方策（本願の機械学習装置ではマスタ軸の動作状態に対する該マスタ軸の未来の予想位置）を最適解として学習する手法である。
【００３０】
図２に示す制御装置１０が備える機械学習装置２０において、学習部２６は、状態変数Ｓに基づいてスレーブ軸の同期制御の適否判定結果（次の学習サイクルで用いられる判定データＤに相当）に関連する報酬Ｒを求める報酬計算部２８と、報酬Ｒを用いて、マスタ軸の動作状態に対する該マスタ軸の未来の予想位置の価値を表す関数Ｑを更新する価値関数更新部３０とを備える。学習部２６は、価値関数更新部３０が関数Ｑの更新を繰り返すことによってマスタ軸の動作状態に対する該マスタ軸の未来の位置を学習する。
【００３１】
学習部２６が実行する強化学習のアルゴリズムの一例を説明する。この例によるアルゴリズムは、Ｑ学習（Ｑ−ｌｅａｒｎｉｎｇ）として知られるものであって、行動主体の状態ｓと、その状態ｓで行動主体が選択し得る行動ａとを独立変数として、状態ｓで行動ａを選択した場合の行動の価値を表す関数Ｑ（ｓ，ａ）を学習する手法である。状態ｓで価値関数Ｑが最も高くなる行動ａを選択することが最適解となる。状態ｓと行動ａとの相関性が未知の状態でＱ学習を開始し、任意の状態ｓで種々の行動ａを選択する試行錯誤を繰り返すことで、価値関数Ｑを反復して更新し、最適解に近付ける。ここで、状態ｓで行動ａを選択した結果として環境（つまり状態ｓ）が変化したときに、その変化に応じた報酬（つまり行動ａの重み付け）ｒが得られるように構成し、より高い報酬ｒが得られる行動ａを選択するように学習を誘導することで、価値関数Ｑを比較的短時間で最適解に近付けることができる。
【００３２】
価値関数Ｑの更新式は、一般に下記の数１式のように表すことができる。数１式において、ｓt及びａtはそれぞれ時刻ｔにおける状態及び行動であり、行動ａtにより状態はｓt+1に変化する。ｒt+1は、状態がｓtからｓt+1に変化したことで得られる報酬である。ｍａｘＱの項は、時刻ｔ＋１で最大の価値Ｑになる（と時刻ｔで考えられている）行動ａを行ったときのＱを意味する。α及びγはそれぞれ学習係数及び割引率であり、０＜α≦１、０＜γ≦１で任意設定される。
【００３３】
【数１】
2018190068.tif 000003
【００３４】
学習部２６がＱ学習を実行する場合、状態観測部２２が観測した状態変数Ｓ及び判定データ取得部２４が取得した判定データＤは、更新式の状態ｓに該当し、現在状態（つまりマスタ軸の動作状態）に対するマスタ軸の未来の予想位置をどのように変更するべきかという行動は、更新式の行動ａに該当し、報酬計算部２８が求める報酬Ｒは、更新式の報酬ｒに該当する。よって価値関数更新部３０は、現在状態に対しするマスタ軸の未来の予想位置の価値を表す関数Ｑを、報酬Ｒを用いたＱ学習により繰り返し更新する。
【００３５】
報酬計算部２８が求める報酬Ｒは、例えば、マスタ軸の動作状態に対する該マスタ軸の未来の予想位置を決定した後に、当該マスタ軸の未来の予想位置に基づいてスレーブ軸の同期制御を実施したときに、スレーブ軸の同期誤差が「適」と判定される場合（例えば、スレーブ軸の同期誤差が許容できる範囲に収まる場合など）に正（プラス）の報酬Ｒとし、マスタ軸の動作状態に対する該マスタ軸の未来の予想位置を決定した後に、当該マスタ軸の未来の予想位置に基づいてスレーブ軸の同期制御を実施したときに、スレーブ軸の同期誤差が「否」と判定される場合（例えば、スレーブ軸の同期誤差が許容できる範囲外の場合など）に負（マイナス）の報酬Ｒとすることができる。正負の報酬Ｒの絶対値は、互いに同一であってもよいし異なっていてもよい。また、判定の条件として、判定データＤに含まれる複数の値を組み合わせて判定するようにしても良い。
【００３６】
また、スレーブ軸の同期誤差の適否判定結果を、「適」及び「否」の二通りだけでなく複数段階に設定することができる。例えば、スレーブ軸の同期誤差の許容範囲の最大値がＥmaxの場合、スレーブ軸の同期誤差Ｅが、０≦Ｅ＜Ｅmax／５のときは報酬Ｒ＝５を与え、Ｅmax／５≦Ｅ＜Ｅmax／２のときは報酬Ｒ＝２を与え、Ｅmax／２≦Ｅ≦Ｅmaxのときは報酬Ｒ＝１を与えるような構成とすることができる。さらに、学習の初期段階はＥmaxを比較的大きく設定し、学習が進行するにつれてＥmaxを縮小する構成とすることもできる。
【００３７】
価値関数更新部３０は、状態変数Ｓと判定データＤと報酬Ｒとを、関数Ｑで表される行動価値（例えば数値）と関連付けて整理した行動価値テーブルを持つことができる。この場合、価値関数更新部３０が関数Ｑを更新するという行為は、価値関数更新部３０が行動価値テーブルを更新するという行為と同義である。Ｑ学習の開始時には環境の現在状態とマスタ軸の未来の予想位置との相関性は未知であるから、行動価値テーブルにおいては、種々の状態変数Ｓと判定データＤと報酬Ｒとが、無作為に定めた行動価値の値（関数Ｑ）と関連付けた形態で用意されている。なお報酬計算部２８は、判定データＤが分かればこれに対応する報酬Ｒを直ちに算出でき、算出した値Ｒが行動価値テーブルに書き込まれる。
【００３８】
スレーブ軸の同期誤差の適否判定結果に応じた報酬Ｒを用いてＱ学習を進めると、より高い報酬Ｒが得られる行動を選択する方向へ学習が誘導され、選択した行動を現在状態で実行した結果として変化する環境の状態（つまり状態変数Ｓ及び判定データＤ）に応じて、現在状態で行う行動についての行動価値の値（関数Ｑ）が書き替えられて行動価値テーブルが更新される。この更新を繰り返すことにより、行動価値テーブルに表示される行動価値の値（関数Ｑ）は、適正な行動ほど大きな値となるように書き換えられる。このようにして、未知であった環境の現在状態（マスタ軸の動作状態）とそれに対する行動（マスタ軸の未来の予想位置）との相関性が徐々に明らかになる。つまり行動価値テーブルの更新により、マスタ軸の動作状態と、該マスタ軸の未来の予想位置との関係が最適解に徐々に近づけられる。
【００３９】
図３を参照して、学習部２６が実行する上記したＱ学習のフロー（つまり機械学習方法の一形態）をさらに説明する。まずステップＳＡ０１で、価値関数更新部３０は、その時点での行動価値テーブルを参照しながら、状態観測部２２が観測した状態変数Ｓが示す現在状態で行う行動としてマスタ軸の未来の予想位置を作業者の教示により、又は従来技術によるマスタ軸の未来の位置の予測方法により、またはこれらに加えてランダムな値を加減算するなどして選択する。次に価値関数更新部３０は、ステップＳＡ０２で、状態観測部２２が観測している現在状態の状態変数Ｓを取り込み、ステップＳＡ０３で、判定データ取得部２４が取得している現在状態の判定データＤを取り込む。次に価値関数更新部３０は、ステップＳＡ０４で、判定データＤに基づき、マスタ軸の未来の予想位置が適当であったか否かを判断し、適当であった場合、ステップＳＡ０５で、報酬計算部２８が求めた正の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。ステップＳＡ０４で、マスタ軸の未来の予想位置が適当でなかったと判断した場合、ステップＳＡ０７で、報酬計算部２８が求めた負の報酬Ｒを関数Ｑの更新式に適用し、次いでステップＳＡ０６で、現在状態における状態変数Ｓ及び判定データＤと報酬Ｒと行動価値の値（更新後の関数Ｑ）とを用いて行動価値テーブルを更新する。学習部２６は、ステップＳＡ０１〜ＳＡ０７を繰り返すことで行動価値テーブルを反復して更新し、マスタ軸の動作状態に対する該マスタ軸の未来の予想位置の学習を進行させる。
【００４０】
前述した強化学習を進める際に、例えばＱ学習の代わりに、ニューラルネットワークを用いることができる。図４Ａは、ニューロンのモデルを模式的に示す。図４Ｂは、図４Ａに示すニューロンを組み合わせて構成した三層のニューラルネットワークのモデルを模式的に示す。ニューラルネットワークは、例えば、ニューロンのモデルを模した演算装置や記憶装置等によって構成できる。
【００４１】
図４Ａに示すニューロンは、複数の入力ｘ（ここでは一例として、入力ｘ1〜入力ｘ3）に対する結果ｙを出力するものである。各入力ｘ1〜ｘ3には、この入力ｘに対応する重みｗ（ｗ1〜ｗ3）が掛けられる。これにより、ニューロンは、次の数２式により表現される出力ｙを出力する。なお、数２式において、入力ｘ、出力ｙ及び重みｗは、すべてベクトルである。また、θはバイアスであり、ｆkは活性化関数である。
【００４２】
【数２】
2018190068.tif 000004
【００４３】
図４Ｂに示す三層のニューラルネットワークは、左側から複数の入力ｘ（ここでは一例として、入力ｘ１〜入力ｘ３）が入力され、右側から結果ｙ（ここでは一例として、結果ｙ１〜結果ｙ３）が出力される。図示の例では、入力ｘ１、ｘ２、ｘ３のそれぞれに対応の重み（総称してｗ１で表す)が乗算されて、個々の入力ｘ１、ｘ２、ｘ３がいずれも３つのニューロンＮ１１、Ｎ１２、Ｎ１３に入力されている。
【００４４】
図４Ｂでは、ニューロンＮ１１〜Ｎ１３の各々の出力を、総称してｚ１で表す。ｚ１は、入カベクトルの特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ１のそれぞれに対応の重み（総称してｗ２で表す）が乗算されて、個々の特徴ベクトルｚ１がいずれも２つのニューロンＮ２１、Ｎ２２に入力されている。特徴ベクトルｚ１は、重みｗ１と重みｗ２との間の特徴を表す。
【００４５】
図４Ｂでは、ニューロンＮ２１〜Ｎ２２の各々の出力を、総称してｚ２で表す。ｚ２は、特徴ベクトルｚ１の特徴量を抽出した特徴ベクトルと見なすことができる。図示の例では、特徴ベクトルｚ２のそれぞれに対応の重み（総称してｗ３で表す）が乗算されて、個々の特徴ベクトルｚ２がいずれも３つのニューロンＮ３１、Ｎ３２、Ｎ３３に入力されている。特徴ベクトルｚ２は、重みｗ２と重みｗ３との間の特徴を表す。最後にニューロンＮ３１〜Ｎ３３は、それぞれ結果ｙ１〜ｙ３を出力する。
なお、三層以上の層を為すニューラルネットワークを用いた、いわゆるディープラーニングの手法を用いることも可能である。
【００４６】
制御装置１０が備える機械学習装置２０においては、状態変数Ｓと判定データＤとを入力ｘとして、学習部２６が上記したニューラルネットワークに従う多層構造の演算を行うことで、マスタ軸の未来の予想位置（結果ｙ）を出力することができる。なおニューラルネットワークの動作モードには、学習モードと価値予測モードとがあり、例えば学習モードで学習データセットを用いて重みＷを学習し、学習した重みＷを用いて価値予測モードで行動の価値判断を行うことができる。なお価値予測モードでは、検出、分類、推論等を行うこともできる。
【００４７】
上記した制御装置１０の構成は、コンピュータのＣＰＵが実行する機械学習方法（或いはソフトウェア）として記述できる。この機械学習方法は、マスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習する機械学習方法であって、コンピュータのＣＰＵが、マスタ軸の未来の予想位置を示すマスタ軸予想位置データＳ１、及びマスタ軸の動作状態を示すマスタ軸動作状態データＳ２を、スレーブ軸の同期制御が行われる環境の現在状態を表す状態変数Ｓとして観測するステップと、スレーブ軸の同期誤差の適否判定結果を示す判定データＤを取得するステップと、状態変数Ｓと判定データＤとを用いて、マスタ軸の未来の予想位置とマスタ軸動作状態データＳ２とを関連付けて学習するステップとを有する。
【００４８】
図５は、第２の実施形態による制御装置４０を示す。制御装置４０は、機械学習装置５０と、状態観測部２２が観測する状態変数Ｓのマスタ軸予想位置データＳ１及びマスタ軸動作状態データＳ２を状態データＳ０として取得する状態データ取得部４２と、機械学習装置５０から出力されたマスタ軸の未来の予想位置Ｐに基づいてスレーブ軸の同期制御を行う同期制御部４４を備える。状態データ取得部４２が取得する状態データＳ０は、スレーブ軸動作状態データＳ３を含むこともできる。状態データ取得部４２は、第１の測定装置、マスタ軸やスレーブ軸の制御装置から取得された値、作業者による適宜のデータ入力などから、状態データＳ０を取得することができる。
【００４９】
制御装置４０が有する機械学習装置５０は、マスタ軸の動作状態に対するマスタ軸の未来の予想位置を機械学習により自ら学習するためのソフトウェア（学習アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）に加えて、マスタ軸の動作状態に対するマスタ軸の未来の予想位置を出力するためのソフトウェア（演算アルゴリズム等）及びハードウェア（コンピュータのＣＰＵ等）を含むものである。制御装置４０が含む機械学習装置５０は、１つの共通のＣＰＵが、学習アルゴリズム、演算アルゴリズム等の全てのソフトウェアを実行する構成を有することもできる。
【００５０】
意思決定部５２は、例えばコンピュータのＣＰＵの一機能として構成できる。或いは意思決定部５２は、例えばコンピュータのＣＰＵを機能させるためのソフトウェアとして構成できる。意思決定部５２は、学習部２６が学習したマスタ軸の動作状態に対する該マスタ軸の未来の予想位置Ｐを制御装置４０に対して出力する。制御装置４０が備える同期制御部４４は、意思決定部５２から出力されたマスタ軸の未来の予想位置Ｐに基づいて、スレーブ軸を同期制御するための指令値Ｃを生成し、生成した指令値Ｃをスレーブ軸、もしくは機械に対して出力する。意思決定部５２が出力するマスタ軸の未来の予想位置Ｐに基づいて、同期制御部４４がスレーブ軸の同期制御の指令値Ｃを生成してスレーブ軸、もしくは機械に対して出力した場合、これに応じて、環境の状態が変化する。
【００５１】
状態観測部２２は、意思決定部５２によるマスタ軸の未来予想位置Ｐに基づいた同期制御部４４によるスレーブ軸の同期制御の指令値の環境への出力後に変化した状態変数Ｓを次の学習サイクルにおいて観測する。学習部２６は、変化した状態変数Ｓを用いて、例えば価値関数Ｑ（すなわち行動価値テーブル）を更新することで、マスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習する。なお、その際に状態観測部２２は、マスタ軸予想位置データＳ１を状態データ取得部４２が取得する状態データＳ０から取得するのではなく、第１の実施形態で説明したように機械学習装置２０の内部メモリから観測するようにしても良い。
【００５２】
意思決定部５２は、学習したマスタ軸の動作状態に対する該マスタ軸の未来の予想位置Ｐを出力し、出力されたマスタ軸の未来の予想位置Ｐに基づいて同期制御部４４はスレーブ軸の同期制御の指令値Ｃを生成してスレーブ軸、もしくは機械へと出力する。このサイクルを繰り返すことにより、機械学習装置５０はマスタ軸の動作状態に対する該マスタ軸の未来の予想位置の学習を進め、自身が決定するマスタ軸の動作状態に対する該マスタ軸の未来の予想位置の信頼性を徐々に向上させる。
【００５３】
上記構成を有する制御装置４０が備える機械学習装置５０は、前述した機械学習装置２０と同等の効果を奏する。特に機械学習装置５０は、意思決定部５２の出力によって（制御装置４０を介して）環境の状態を変化させることができる。他方、機械学習装置２０では、学習部２６の学習結果を環境に反映させるための意思決定部に相当する機能を、外部装置（機械や、機械の制御装置）に求めることができる。
【００５４】
図６は、機械６０を備えた一実施形態によるシステム７０を示す。システム７０は、少なくとも同一の機械構成を有する複数の機械６０、６０’と、それら機械６０、６０’を互いに接続するネットワーク７２とを備え、複数の機械６０、６０’のうち少なくとも１つが、上記した制御装置４０を備える機械６０として構成される。またシステム７０は、制御装置４０を備えない機械６０’を含むことができる。機械６０、６０’は、マスタ軸の動作に対してスレーブ軸を同期制御させるために必要とされる一般的な構成を有する。
【００５５】
上記構成を有するシステム７０は、複数の機械６０、６０’のうちで制御装置４０を備える機械６０が、学習部２６の学習結果を用いて、マスタ軸の動作状態に応じた機械６０、６０’による該マスタ軸の未来の予想位置を、演算や目算によらずに自動的に、しかも正確に求めることができる。また、少なくとも１つの機械６０の制御装置４０が、他の複数の機械６０、６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての機械６０、６０’に共通するマスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習し、その学習結果を全ての機械６０、６０’が共有するように構成できる。したがってシステム７０によれば、より多様なデータ集合（状態変数Ｓ及び判定データＤを含む）を入力として、マスタ軸の動作状態に対する該マスタ軸の未来の予想位置の学習の速度や信頼性を向上させることができる。
【００５６】
図７は、機械６０’を備えた他の実施形態によるシステム７０’を示す。システム７０’は、機械学習装置５０（又は２０）と、同一の機械構成を有する複数の機械６０’と、それら機械６０’と機械学習装置５０（又は２０）とを互いに接続するネットワーク７２とを備える。
【００５７】
上記構成を有するシステム７０’は、機械学習装置５０（又は２０）が、複数の機械６０’のそれぞれについて得られた状態変数Ｓ及び判定データＤに基づき、全ての機械６０’に共通するマスタ軸の動作状態に対する該マスタ軸の未来の予想位置を学習し、その学習結果を用いて、マスタ軸の動作状態に応じた該マスタ軸の未来の予想位置を、演算や目算によらずに自動的に、しかも正確に求めることができる。
【００５８】
システム７０’は、機械学習装置５０（又は２０）が、ネットワーク７２に用意されたクラウドサーバやセルコントローラ等に存在する構成を有することができる。この構成によれば、複数の機械６０’のそれぞれが存在する場所や時期に関わらず、必要なときに必要な数の機械６０’を機械学習装置５０（又は２０）に接続することができる。
【００５９】
システム７０、７０’に従事する作業者は、機械学習装置５０（又は２０）による学習開始後の適当な時期に、機械学習装置５０（又は２０）によるマスタ軸の動作状態に対する該マスタ軸の未来の予想位置の学習の到達度（すなわちマスタ軸の動作状態に対する該マスタ軸の未来の予想位置の信頼性）が要求レベルに達したか否かの判断を実行することができる。
【００６０】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００６１】
例えば、機械学習装置２０，５０が実行する学習アルゴリズム、機械学習装置５０が実行する演算アルゴリズム、制御装置１０、４０が実行する制御アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００６２】
また、上記した実施形態では制御装置１０，４０の上で機械学習装置２０，５０がオンラインで機械学習する例を示しているが、制御装置１０，４０による機械の同期制御時に状態データＳや判定データＤをログデータとして記録しておき、記録したログデータを収集して、収集したログデータから取得した状態データＳや判定データＤに基づいて機械学習装置２０，５０が機械学習するようにしても良い。
【符号の説明】
【００６３】
１０，４０  制御装置
２０，５０  機械学習装置
２２  状態観測部
２４  判定データ取得部
２６  学習部
２８  報酬計算部
３０  価値関数更新部
４２  状態データ取得部
４４  同期制御部
５２  意思決定部
６０，６０’  機械
７０，７０’  システム
７２  ネットワーク
【図１】
2018190068.tif 000005
【図２】
2018190068.tif 000006
【図３】
2018190068.tif 000007
【図４Ａ】
2018190068.tif 000008
【図４Ｂ】
2018190068.tif 000009
【図５】
2018190068.tif 000010
【図６】
2018190068.tif 000011
【図７】
2018190068.tif 000012
【図８】
2018190068.tif 000013
【図９】
2018190068.tif 000014
【図１０】
2018190068.tif 000015