(57)【要約】【課題】非線形特性を持つ制御対象に対して繰返し学習制御が適用可能であるか否かの判定及び繰返し学習制御用のパラメータの決定をすることが可能な制御装置及び機械学習装置を提供すること。【解決手段】本発明の制御装置１は、モータの制御周期毎の位置指令を作成する指令作成部１２０と、モータの位置を検出する位置検出部１５０と、位置指令値とモータの位置との差である位置偏差を作成する位置偏差作成部１３０と、位置偏差値と、位置指令値と、繰返し制御用のパラメータとに基づいて位置補償値を計算する繰返し制御部１６０と、繰返し制御部１６０が計算する位置補償値を予測する機械学習装置１００と、を具備し、機械学習装置１００は、位置指令、位置偏差、及び位置補償値に基づいて目的関数を最小化するように学習モデルを構築する。【選択図】図２
2019053594.tif 000002
【特許請求の範囲】
【請求項１】
モータで駆動される加工機を制御する制御装置であって、
前記モータの制御周期毎の位置指令を作成する指令作成部と、
前記モータの位置を検出する位置検出部と、
前記指令作成部が作成する位置指令値と前記位置検出部が検出する前記モータの位置との差である位置偏差を作成する位置偏差作成部と、
前記位置偏差作成部が作成する位置偏差値と、前記指令作成部が作成する位置指令値と、繰返し制御用のパラメータとに基づいて位置補償値を計算する繰返し制御部と、
前記繰返し制御部が計算する位置補償値を予測する機械学習装置と、
を具備し、
前記機械学習装置は、前記位置指令、前記位置偏差、及び前記位置補償値に基づいて目的関数を最小化するように学習モデルを構築する、
制御装置。
【請求項２】
前記機械学習装置の学習モデルは、複数のパーセプトロンを結合した非線形モデルであり、
前記機械学習装置は、前記目的関数を最小とするように前記非線形モデルの結合の重みを決定する、
請求項１に記載の制御装置。
【請求項３】
前記機械学習装置は、前記目的関数を最小化できる場合には、前記非線形モデルの結合の重みに基づいて繰返し制御用のパラメータを決定する、
請求項２に記載の制御装置。
【請求項４】
前記機械学習装置は、前記目的関数が最小化できない場合には、前記繰返し制御部の動作を無効化する、
請求項１〜３のいずれか１つに記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置及び機械学習装置に関し、特に機械学習による繰返し学習制御可能性判別および自動調整を行う制御装置及び機械学習装置に関する。
【背景技術】
【０００２】
同一パターンの指令が繰り返し指令されて加工等を行う場合、制御偏差を零近くまで収束させて加工精度を向上させる方法として繰返し学習制御が知られている。この従来から行われている繰返し学習制御は、同一パターンが一定パターン周期で繰り返し指令され、１つ前の１パターン周期における各制御周期における位置偏差に基づいて求められる補正データを学習メモリに記憶しておき、当該パターン周期の各制御周期の位置偏差に、学習メモリに記憶する１つ前の１パターン周期における対応する制御周期の補正データを加算することによって、位置偏差を零に収束させようとするものである（特許文献１，２等参照）。繰返し学習制御は、例えばピストン旋盤のように、断面形状が同一パターンで、この同一パターンの指令を繰り返し実行する場合などに効果的である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−１０４８２３号公報
【特許文献２】特開平０６−３０９０２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、繰返し学習制御が行なわれた場合の制御挙動は動作形状や速度などにも依存しているため、制御対象の動作を安定させるためのパラメータを簡単に決定することは難しく、経験を積んだ作業者が制御挙動を安定させるためにパラメータの調整と制御対象の動作の試行とを繰り返す必要がある。また、制御の内容や対象によっては繰り返し学習制御を用いることが適切ではない場合もあるが、繰り返し学習制御を用いることが適切であるか否かは経験を積んだ作業者であっても直ぐには判断することができず、上記したパラメータの調整を繰り返した結果から判断するしかない。
【０００５】
そこで本発明の目的は、非線形特性を持つ制御対象に対して繰返し学習制御が適用可能であるか否かの判定及び繰返し学習制御用のパラメータの決定をすることが可能な制御装置及び機械学習装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明の一態様は、モータで駆動される加工機を制御する制御装置であって、前記モータの制御周期毎の位置指令を作成する指令作成部と、前記モータの位置を検出する位置検出部と、前記指令作成部が作成する位置指令値と前記位置検出部が検出する前記モータの位置との差である位置偏差を作成する位置偏差作成部と、前記位置偏差作成部が作成する位置偏差値と、前記指令作成部が作成する位置指令値と、繰返し制御用のパラメータとに基づいて位置補償値を計算する繰返し制御部と、前記繰返し制御部が計算する位置補償値を予測する機械学習装置と、を具備し、前記機械学習装置は、前記位置指令、前記位置偏差、及び前記位置補償値に基づいて目的関数を最小化するように学習モデルを構築する、制御装置である。
【発明の効果】
【０００７】
本発明によれば、繰返し学習制御における調整試行を不要として最終的な制御条件が得られるため、調整過程での発振挙動のリスクをなくすことができる。また、定量的な安定性評価が難しい制御対象であっても、安定性の評価値を得ることができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態による制御装置の概略的なハードウェア構成図である。
【図２】一実施形態による制御装置の概略的な機能ブロック図である。
【図３】多層パーセプトロンを例示する図である。
【図４】一実施形態による制御装置が実行する処理の概略的なフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面と共に説明する。
図１は第１の実施形態による制御装置の要部を示す概略的なハードウェア構成図である。制御装置１は、例えば加工機を制御する制御装置として実装することができる。本実施形態による制御装置１が備えるＣＰＵ１１は、制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステム・プログラムをバス２０を介して読み出し、該システム・プログラムに従って制御装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ、図示しない入力部を介してオペレータが入力した各種データ等が一時的に格納される。
【００１０】
不揮発性メモリ１４は、例えば図示しないバッテリでバックアップされるなどして、制御装置１の電源がオフされても記憶状態が保持されるメモリとして構成される。不揮発性メモリ１４には、インタフェース１５を介して読み込まれた繰返し制御に係るプログラムや後述する表示器／ＭＤＩユニット７０を介して入力されたプログラムなどが記憶されている。不揮発性メモリ１４に記憶された繰返し制御に係るプログラムは、利用時にはＲＡＭ１３に展開されても良い。また、ＲＯＭ１２には、制御装置１の動作に必要な各種のシステム・プログラム（後述する機械学習装置１００とのやりとりを制御するためのシステム・プログラムを含む）があらかじめ書き込まれている。
【００１１】
インタフェース１５は、制御装置１とアダプタ等の外部機器７２と接続するためのインタフェースである。外部機器７２側からは繰返し制御に係るプログラムや各種パラメータ等が読み込まれる。また、制御装置１内で編集した繰返し制御に係るプログラムや各種パラメータ等は、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、制御装置１に内蔵されたシーケンス・プログラムで加工機の周辺装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、加工機の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００１２】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は各軸を手動で駆動させる際に用いる手動パルス発生器等を備えた操作盤７１に接続されている。
【００１３】
加工機が備える軸を制御するための軸制御回路３０はＣＰＵ１１からの軸の移動指令量を受けて、軸の指令をサーボアンプ４０に出力する。サーボアンプ４０はこの指令を受けて、加工機が備える軸を移動させるサーボモータ５０を駆動する。軸のサーボモータ５０は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１のハードウェア構成図では軸制御回路３０、サーボアンプ４０、サーボモータ５０は１つずつしか示されていないが、実際には制御対象となる加工機に備えられた軸の数だけ用意される。
【００１４】
スピンドル制御回路６０は、加工機への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、加工機のスピンドルモータ６２を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ６２にはポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはＣＰＵ１１によって読み取られる。
【００１５】
インタフェース２１は、制御装置１と機械学習装置１００とを接続するためのインタフェースである。機械学習装置１００は、機械学習装置１００全体を統御するプロセッサ１０１と、システム・プログラム等を記憶したＲＯＭ１０２、機械学習に係る各処理における一時的な記憶を行うためのＲＡＭ１０３、及び学習モデル等の記憶に用いられる不揮発性メモリ１０４を備える。機械学習装置１００は、インタフェース２１を介して制御装置１で取得可能な各情報（例えば、ＣＰＵ１１から軸制御回路３０へと出力される軸の移動指令量、位置指令値、サーボモータ５０から得られた位置・速度フィードバック値等）を観測することができる。また、制御装置１は、機械学習装置１００から出力される値に基づいて制御対象の制御に繰返し学習制御が適用可能であるか否かの判定と、繰返し学習制御用のパラメータの決定とを行う。
【００１６】
図２は、一実施形態による制御装置１と機械学習装置１００の概略的な機能ブロック図である。図２に示した各機能ブロックは、図１に示した制御装置１が備えるＣＰＵ１１、及び機械学習装置１００のプロセッサ１０１が、それぞれのシステム・プログラムを実行し、制御装置１及び機械学習装置１００の各部（軸制御回路３０等）の動作を制御周期Ｔ毎に制御することにより実現される。
【００１７】
制御装置１は、繰返し制御の周期Ｌでサーボモータ５０の位置が所定のパターンで移動するように制御する機能を備える。本実施形態の制御装置１は、指令作成部１２０、位置偏差作成部１３０、位置検出部１５０、繰返し制御部１６０を備える。
【００１８】
指令作成部１２０は、不揮発性メモリ１４に記憶された繰返し制御に係るプログラムから読み出した指令に基づいて、制御装置１の制御周期Ｔ毎のサーボモータ５０の位置指令を作成し、作成した位置指令を位置偏差作成部１３０、及び機械学習装置１００へ出力する。
位置偏差作成部１３０は、指令作成部１２０から受けたサーボモータ５０に対する位置指令と、位置検出部１５０が検出したサーボモータ５０の位置との差である位置偏差を作成し、作成した位置偏差をサーボモータ５０、繰返し制御部１６０、及び機械学習装置１００へ出力する。
【００１９】
指令作成部１２０、位置偏差作成部１３０、位置検出部１５０は、従来から実施されている位置フィードバック制御を行なうための構成である。繰返し学習制御では、これらの構成に加えて繰返し制御部１６０が追加される。
【００２０】
繰返し制御部１６０は、位置偏差作成部１３０から受けた制御周期Ｔ毎の位置偏差と、パラメータ記憶部１７０に記憶されているパラメータとに基づいて位置補償値を算出し、算出した位置補償値を出力する。繰返し制御部１６０は、機械学習装置１００による学習モデルの構築が行われている場合には、パラメータ記憶部１７０に現在記憶されているパラメータ（制御装置１の動作の初期においては、作業者等により設定された初期パラメータ）を用いて位置補償値を算出し、また、機械学習装置１００による学習モデルの構築が終了し、繰返し学習制御の適用が可能であると判定された場合には、機械学習装置１００により決定され、パラメータ記憶部１７０に記憶された制御パラメータを用いて位置補償値を算出する。繰返し制御部１６０が出力する位置補償値は、加算器１８０により位置偏差作成部１３０から出力される位置偏差に対して加算され、サーボモータ５０へと出力される。繰返し制御部１６０は、特許文献１，２などの従来技術に開示される繰返し学習制御のための構成であり、その詳細な動作は既に公知となっているため、本明細書での詳細な説明は省略する。
【００２１】
一方、制御装置１が備える機械学習装置１００は、指令作成部１２０から出力された制御周期Ｔ毎の位置指令と、位置偏差作成部１３０から出力された制御周期Ｔ毎の位置偏差とに基づいた、いわゆる機械学習を行い、その学習結果に基づいて繰返し学習制御の適用可能性の判定と、繰返し学習制御用のパラメータ（パラメータ記憶部１７０に記憶されるパラメータ）の決定とを行う。図２に機能ブロックで示すように、制御装置１が備える機械学習装置１００は、指令作成部１２０から出力された制御周期Ｔ毎の位置指令データＳ１と、位置偏差作成部１３０から出力された制御周期Ｔ毎の位置偏差データＳ２とを状態変数Ｓとして観測する状態観測部１０６、状態変数Ｓに基づく機械学習を行う機械学習部１１０、機械学習部１１０による機械学習の結果に基づいて繰返し学習制御の適用可能性の判定を行なう判定部１１２、及び機械学習部１１０による学習結果に基づいて繰返し学習制御用のパラメータを算出して出力するパラメータ算出部１１４を備える。
【００２２】
状態観測部１０６は、パラメータ記憶部１７０に記憶されているパラメータに基づく繰返し学習制御が行なわれている状態における、指令作成部１２０から出力された制御周期Ｔ毎の位置指令データＳ１と、位置偏差作成部１３０から出力された制御周期Ｔ毎の位置偏差データＳ２と、繰返し制御部１６０から出力された位置補償値を示す位置補償値データＳ３とを状態変数Ｓとして観測する機能手段である。状態観測部１０６は、機械学習部１１０による学習が行われている間、指令作成部１２０から出力された制御周期Ｔ毎の位置指令データＳ１と、位置偏差作成部１３０から出力された制御周期Ｔ毎の位置偏差データＳ２と、繰返し制御部１６０から出力された位置補償値を示す位置補償値データＳ３とを観測する。
【００２３】
機械学習部１１０は、機械学習と総称される任意の学習アルゴリズムに従い、状態観測部１０６が観測した位置指令データＳ１、位置偏差データＳ２、及び位置補償値データＳ３に基づいて、繰返し学習に対する学習モデルを生成する（機械学習を行う）機能手段である。機械学習部１１０は、パラメータ記憶部１７０に記憶されたパラメータに基づく繰返し学習制御が行なわれている状態における、指令値（位置指令データＳ１）と、フィードバック値（位置偏差データＳ２）と、それに対する応答（位置補償値データＳ３）とに基づく学習モデルを構築する。機械学習部１１０が構築する学習モデルとしては、例えば図３に例示されるような、複数のパーセプトロンを結合した非線形モデルが例示される。このようにする場合、機械学習部１１０による学習モデルの構築（機械学習）は、以下の数１式に示される損失関数Ｌ（ｗ）の値を最小化するように機械学習パラメータｗ（パーセプトロン間の結合の重み、図３では重み行列ｗ１〜ｗ３）を調整することにより行なわれる。
【００２４】
【数１】
2019053594.tif 000003
【００２５】
機械学習部１１０は、状態観測部１０６が観測した状態変数Ｓに基づいて上記した損失関数Ｌ（ｗ）の値を最小化する工程を繰返し、例えば損失関数Ｌ（ｗ）の値を予め定めた所定の閾値以下にすることができた場合、学習モデルの構築ができた旨を出力し、学習モデルの構築（機械学習）を終了する。一方、機械学習部１１０は、状態観測部１０６が観測した状態変数Ｓに基づいて上記した損失関数Ｌ（ｗ）の値を最小化する工程を繰返し、例えば予め定めた所定の回数の最小化の工程で損失関数Ｌ（ｗ）の値を予め定めた所定の閾値以下にできなかった場合（即ち、機械学習が収束しなかった場合）、学習モデルの構築ができなかった旨を出力し、学習モデルの構築（機械学習）を終了する。
【００２６】
判定部１１２は、機械学習部１１０からの学習モデルの構築の成功／失敗の出力に基づいて、繰返し学習制御の適用可能性の判定を行なう機能手段である。判定部１１２は、機械学習部１１０による学習モデルの構築が成功した場合には、当該通常制御系に対する繰返し学習制御の適用が可能であると判定し、その旨を出力する。一方で、判定部１１２は、機械学習部１１０による学習モデルの構築が失敗した場合には、当該制御系に対する繰返し学習制御の適用が不可能であると判定し、繰返し制御部１６０の動作をオフにする。
【００２７】
パラメータ算出部１１４は、判定部１１２が通常制御系に対する繰返し学習制御の適用が可能であると判定した場合、予め設定された写像関数を用いて、機械学習部１１０が構築した学習モデルの機械学習パラメータｗを繰返し学習制御用のパラメータｐへと変換する機能手段である。パラメータ算出部１１４が機械学習パラメータｗから繰返し学習制御用のパラメータｐへと変換するために用いる写像関数は、予め実験などにより、繰返し学習制御が適用可能な通常制御系において機械学習部１１０が構築した学習モデルの機械学習パラメータと、当該通常制御系に対して繰返し学習制御を適用し、該繰返し学習制御により学習された制御パラメータとから求めた写像関数を利用するようにすれば良い。
【００２８】
なお、機械学習部１１０により構築された学習モデル（学習済みモデル）は、同一の繰返し制御を行なう他の制御装置に対して流用することも可能である。例えば、同じ製品を加工する同型の加工機が複数設置されている工場等では、１台の制御装置１上で上記した機械学習部１１０による学習モデルの構築を行い、構築された学習済みモデルに基づいてパラメータ算出部１１４で算出された繰返し学習制御用のパラメータｐをそれぞれの加工機を制御する制御装置へと設定して利用することもできる。
【００２９】
図４は、本実施形態の制御装置１上で実行される処理の概略的なフローチャートである。
●［ステップＳＡ０１］制御装置１は、機械学習部１１０が学習モデルの構築中であるか否かを判定する。機械学習部１１０が学習モデルの構築中である場合、ステップＳＡ０１へと処理を移行し、機械学習部１１０による学習モデルの構築が終了している場合には、ステップＳＡ０７へ処理を移行する。
【００３０】
●［ステップＳＡ０２］指令作成部１２０は、不揮発性メモリ１４０に記憶された繰返し制御に係るプログラムから読み出した指令に基づいて、制御装置１の制御周期Ｔ毎のサーボモータ５０の位置指令を作成する。
●［ステップＳＡ０３］位置検出部１５０は、サーボモータ５０の位置を検出する。
●［ステップＳＡ０４］位置偏差作成部１３０は、ステップＳＡ０２で作成されたサーボモータ５０に対する位置指令と、ステップＳＡ０３で検出されたサーボモータ５０の位置との差である位置偏差を作成する。
●［ステップＳＡ０５］繰返し制御部１６０は、ステップＳＡ０２で作成された位置指令と、ステップＳＡ０４で作成された位置偏差と、パラメータ記憶部１７０に記憶されたパラメータとに基づいて、位置補償値を算出する。
●［ステップＳＡ０６］機械学習部１１０は、（状態観測部１０６が観測した）ステップＳＡ０２で作成されたサーボモータ５０の位置指令と、（状態観測部１０６が観測した）ステップＳＡ０４で作成された位置偏差と、（状態観測部１０６が観測した）ステップＳＡ０５で算出された位置補償値とに基づいて、学習モデルを構築する。
【００３１】
●［ステップＳＡ０７］判定部１１２は、機械学習部１１０による学習モデルの構築（機械学習）が収束したか否かを判定する。学習モデルの構築が収束した場合にはステップＳＡ０８へ処理を移行し、学習モデルの構築が収束しなかった場合にはステップＳＡ０９へ処理を移行する。
●［ステップＳＡ０８］判定部１１２は、繰返し学習制御が可能であるとして、繰返し制御部１６０による繰返し学習制御をオンにする。パラメータ算出部１１４は、機械学習部１１０が構築した学習モデルの機械学習パラメータｗから制御パラメータｐを変換し、変換した制御パラメータｐをパラメータ記憶部１７０へ記憶する。
●［ステップＳＡ０９］判定部１１２は、繰返し学習制御ができないと判定し、繰返し制御部１６０による繰返し学習制御をオフにする。
【００３２】
本発明の一実施形態による制御装置１では、機械学習部１１０での学習モデルの構築（機械学習パラメータの探索試行）において、損失関数Ｌ（ｗ）の値が最小値に収束していけば繰返し学習のパラメータが自動で得られるが、例えばピストン旋盤における繰返し制御をする際に、適度な速度域での主軸回転数に設定されている場合には、損失関数Ｌ（ｗ）の値が収束するが、超過速度域での主軸回転数に設定されている場合には、損失関数Ｌ（ｗ）の値が収束せずに発散していくため、繰返し学習が適用できないことが機械学習部１１０の動作から把握することが出来る。
【００３３】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００３４】
例えば、機械学習装置１００が実行する学習アルゴリズム、機械学習装置１００が実行する演算アルゴリズム等は、上述したものに限定されず、様々なアルゴリズムを採用できる。
【００３５】
また、上記した実施形態では制御装置１と機械学習装置１００が異なるＣＰＵ（プロセッサ）を有する装置として説明しているが、機械学習装置１００は制御装置１が備えるＣＰＵ１１と、ＲＯＭ１２に記憶されるシステム・プログラムにより実現するようにしても良い。
【００３６】
更に、上記した実施形態では、入力としての位置指令値（位置指令データＳ１）と、フィードバック値（位置偏差データＳ２）と、それに対する応答（位置補償値データＳ３）とに基づく学習モデルを構築するように構成したが、モータ等の動特性をより強く反映させるために、トルク指令値やモータ電流など入力値に用いるようにしても良い。
【符号の説明】
【００３７】
１  制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  不揮発性メモリ
１５，１８，１９，２１  インタフェース
１６  ＰＭＣ
１７  Ｉ／Ｏユニット
２０  バス
３０  軸制御回路
４０  サーボアンプ
５０  サーボモータ
６０  スピンドル制御回路
６１  スピンドルアンプ
６２  スピンドルモータ
６３  ポジションコーダ
７０  表示器／ＭＤＩユニット
７１  操作盤
７２  外部機器
１００  機械学習装置
１０１  プロセッサ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  不揮発性メモリ
１０６  状態観測部
１１０  機械学習部
１１２  判定部
１１４  パラメータ算出部
１２０  指令作成部
１３０  位置偏差作成部
１４０  不揮発性メモリ
１５０  位置検出部
１６０  繰返し制御部
１７０  パラメータ記憶部
１８０  加算器
【図１】
2019053594.tif 000004
【図２】
2019053594.tif 000005
【図３】
2019053594.tif 000006
【図４】
2019053594.tif 000007