特許第6774637号(P6774637)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社安川電機の特許一覧

<>
  • 特許6774637-制御装置及び制御方法 図000002
  • 特許6774637-制御装置及び制御方法 図000003
  • 特許6774637-制御装置及び制御方法 図000004
  • 特許6774637-制御装置及び制御方法 図000005
  • 特許6774637-制御装置及び制御方法 図000006
  • 特許6774637-制御装置及び制御方法 図000007
  • 特許6774637-制御装置及び制御方法 図000008
  • 特許6774637-制御装置及び制御方法 図000009
  • 特許6774637-制御装置及び制御方法 図000010
  • 特許6774637-制御装置及び制御方法 図000011
  • 特許6774637-制御装置及び制御方法 図000012
  • 特許6774637-制御装置及び制御方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6774637
(24)【登録日】2020年10月7日
(45)【発行日】2020年10月28日
(54)【発明の名称】制御装置及び制御方法
(51)【国際特許分類】
   G05B 13/02 20060101AFI20201019BHJP
   G05B 11/36 20060101ALI20201019BHJP
【FI】
   G05B13/02 L
   G05B11/36 501
【請求項の数】11
【全頁数】20
(21)【出願番号】特願2018-568603(P2018-568603)
(86)(22)【出願日】2018年2月15日
(86)【国際出願番号】JP2018005267
(87)【国際公開番号】WO2018151215
(87)【国際公開日】20180823
【審査請求日】2019年7月10日
(31)【優先権主張番号】特願2017-29383(P2017-29383)
(32)【優先日】2017年2月20日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110003096
【氏名又は名称】特許業務法人第一テクニカル国際特許事務所
(72)【発明者】
【氏名】北吉 良平
(72)【発明者】
【氏名】足立 勝
【審査官】 牧 初
(56)【参考文献】
【文献】 特開2017−34844(JP,A)
【文献】 特開平4−302304(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 13/00−13/04
(57)【特許請求の範囲】
【請求項1】
参照指令と外部の制御対象が出力する制御量との間の偏差を所定の制御パラメータで制御する制御器に入力し、当該制御器が出力する操作量で前記制御対象を制御するフィードバック制御部と、
機械学習プロセスでの学習内容に基づいて、前記制御パラメータを調整する調整部と、
を有し、
前記調整部は、
前記参照指令、前記操作量、及び前記制御量を入力して前記制御対象の機械定数又は外乱を出力する第1ニューラルネットワークと、
前記第1ニューラルネットワークから出力された前記機械定数又は外乱を入力して前記制御パラメータを出力する第2ニューラルネットワークと、
を有する
ことを特徴とする制御装置。
【請求項2】
前記機械学習プロセスでは、前記参照指令、前記操作量、及び前記制御量と検出機械又は検出試験により検出した前記制御対象の機械定数又は外乱とを対応付けた第1データセットを用いたデータ学習により前記第1ニューラルネットワークを機械学習させ、既知の機械定数又は外乱と人為的に設定した前記制御パラメータとを対応付けた第2データセットを用いたデータ学習により前記第2ニューラルネットワークを機械学習させることを特徴とする請求項記載の制御装置。
【請求項3】
前記第1データセットの前記参照指令、前記操作量、及び前記制御量は、同一のシーケンス動作時における時系列パターンデータであることを特徴とする請求項記載の制御装置。
【請求項4】
前記第1データセットの前記参照指令、前記操作量、及び前記制御量は、同一の外乱付加時における時系列パターンデータであることを特徴とする請求項又は記載の制御装置。
【請求項5】
前記第1データセット又は前記第2データセットには、評価値が含まれており、
前記第1ニューラルネットワーク又は前記第2ニューラルネットワークの前記機械学習プロセスでは、前記評価値に基づいて機械学習することを特徴とする請求項乃至のいずれか1項に記載の制御装置。
【請求項6】
前記第1ニューラルネットワークの前記機械学習プロセスでは、前記参照指令、前記操作量、及び前記制御量基づく強化学習により前記制御対象の機械定数又は外乱を機械学習し、前記第2ニューラルネットワークの前記機械学習プロセスでは、前記機械定数又は外乱に基づく強化学習により前記制御パラメータを機械学習することを特徴とする請求項記載の制御装置。
【請求項7】
前記第1ニューラルネットワークの前記強化学習は、所定のシーケンス動作時における前記制御対象の機械定数又は外乱の設定に対する報酬に基づいて強化学習し、前記第2ニューラルネットワークの前記強化学習は、前記所定のシーケンス動作時における前記制御パラメータの設定に対する報酬に基づいて強化学習することを特徴とする請求項記載の制御装置。
【請求項8】
前記第1ニューラルネットワークの前記強化学習は、所定の外乱付加時における前記制御対象の機械定数又は外乱の設定に対する報酬に基づいて強化学習し、前記第2ニューラルネットワークの前記強化学習は、前記所定の外乱付加時における前記制御パラメータの設定に対する報酬に基づいて強化学習することを特徴とする請求項又は記載の制御装置。
【請求項9】
前記制御パラメータは、位置ループゲイン、速度ループゲイン、速度ループ積分時定数、及び前記制御対象の慣性モーメント比の少なくとも1つを含むことを特徴とする請求項1乃至のいずれか1項に記載の制御装置。
【請求項10】
所定のシーケンス動作で前記制御パラメータを推定する推定部、をさらに有し、
前記第1ニューラルネットワークの前記機械学習プロセスは、前記推定部が推定した前記制御対象の機械定数又は外乱で事前学習し、前記第2ニューラルネットワークの前記機械学習プロセスは、前記推定部が推定した前記制御パラメータで事前学習することを特徴とする請求項1乃至のいずれか1項に記載の制御装置。
【請求項11】
参照指令と外部の制御対象が出力する制御量との間の偏差を所定の制御パラメータで制御する制御器に入力し、当該制御器が出力する操作量で前記制御対象を制御することと、
機械学習プロセスでの学習内容に基づいて、前記制御パラメータを調整することと、
を有し、
前記制御パラメータを調整することは、
第1ニューラルネットワークで前記参照指令、前記操作量、及び前記制御量を入力して前記制御対象の機械定数又は外乱を出力することと、
第2ニューラルネットワークで前記第1ニューラルネットワークから出力された前記機械定数又は外乱を入力して前記制御パラメータを出力することと、
を有する
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、制御装置及び制御方法に関する。
【背景技術】
【0002】
特許文献1には、所定の調整用シーケンス動作を実行した際に検出した各状態量の評価結果に基づいて制御パラメータを自動的に設定する手法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−061377号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、制御精度の高い要求を満たすためには、多様なシーケンス動作を繰り返し実行し、熟練した技術者の勘と経験などの技量に依存した総合的な判断により制御パラメータを調整する必要があった。
【0005】
本発明はこのような問題点に鑑みてなされたものであり、制御装置の利便性を向上できる制御装置及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一の観点によれば、参照指令と外部の制御対象が出力する制御量との間の偏差を所定の制御パラメータで制御する制御器に入力し、当該制御器が出力する操作量で前記制御対象を制御するフィードバック制御部と、機械学習プロセスでの学習内容に基づいて、前記制御パラメータを調整する調整部と、を有する制御装置が適用される。
【0007】
また、本発明の別の観点によれば、参照指令と外部の制御対象が出力する制御量との間の偏差を所定の制御パラメータで制御する制御器に入力し、当該制御器が出力する操作量で前記制御対象を制御することと、機械学習プロセスでの学習内容に基づいて、前記制御パラメータを調整することと、を実行する制御方法が適用される。
【発明の効果】
【0008】
本発明によれば、制御装置の利便性を向上できる。
【図面の簡単な説明】
【0009】
図1】実施形態の機械制御システムの概略的なシステムブロック構成の一例を表す図である。
図2】モータ制御システムにおける制御パラメータの調整手法の概要を表す制御ブロック図である。
図3】フィードバック制御部を含めたフィードバック制御系と、調整部との間における各情報の送受関係を表す図である。
図4】同一の調整用シーケンス動作を実行した際の各状態量データを時系列パターンデータで表した図である。
図5】深層学習を適用した場合における調整部のニューラルネットワークの概略モデル構成の一例を表す図である。
図6】各種シーケンス動作に対応した調整部学習用データセットを例示する図である。
図7】データ学習により機械学習プロセスを実行する場合の処理手順のフローチャートを表す図である。
図8】強化学習により機械学習プロセスを実行する場合の処理手順のフローチャートを表す図である。
図9】各種外乱付加に対応した調整部学習用データセットを例示する図である。
図10】機械定数を出力可能に分割した場合における調整部のニューラルネットワークの概略モデル構成の一例を表す図である。
図11】推定部を備えた場合のモータ制御装置のシステムブロック構成の一例を表す図である。
図12】モータ制御装置のハードウェア構成を表すシステムブロック図である。
【発明を実施するための形態】
【0010】
以下、実施の形態について図面を参照しつつ説明する。
【0011】
<機械制御システムの概略構成>
図1は、本実施形態の制御装置を備えた機械制御システムの概略的なシステムブロック構成の一例を表している。この機械制御システムは、回転型モータの駆動を制御することによりスライダの直進移動を制御するシステムである。図1において、機械制御システム1は、上位制御装置2と、モータ制御装置3と、回転型モータ4と、駆動機械5とを有している。
【0012】
上位制御装置2は、例えば特に図示しないCPU、ROM、RAM、操作部、表示部等を備えた汎用パーソナルコンピュータ等で構成されている。上位制御装置2は、操作部を介して操作者から入力された各種設定や指令に基づいて、後述する駆動機械5のスライダを所望の位置に位置決めするための位置指令を生成し、モータ制御装置3に出力する。
【0013】
モータ制御装置3は、上位制御装置2から出力された位置指令に基づいてトルク指令を生成し、回転型モータ4に出力する。この際、モータ制御装置3は、回転型モータ4が備える後述のエンコーダ41aから出力された検出位置に基づいて、位置のフィードバック制御を行う。モータ制御装置3は、フィードバック制御部31と、調整部32とを有している。なお、モータ制御装置3が、各請求項記載の制御装置に相当する。
【0014】
フィードバック制御部31は、上述した位置指令と検出位置とに基づくトルク指令の生成を行う演算部である。なお、フィードバック制御部31の制御ブロックについては後の図3で詳述する。
【0015】
調整部32は、位置指令、検出位置、及びトルク指令に基づいて、上記フィードバック制御部31におけるトルク指令の演算処理に用いられる制御パラメータ(後述)を適宜の状況で調整する処理部である。なお、この調整部32の処理内容についても後に詳述する。
【0016】
なお、上述したフィードバック制御部31、調整部32等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部(例えば1つの処理部)で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、モータ制御装置3は、後述するCPU901(図12参照)が実行するプログラムによりソフトウェア的に実装されてもよいし、その一部又は全部がASICやFPGA、その他の電気回路等(ニューロモーフィックチップ等)の実際の装置によりハードウェア的に実装されてもよい。
【0017】
回転型モータ4は、例えば同期型の3相交流モータであり、当該回転型モータ4の出力軸の回転位置を検出位置として出力するエンコーダ41aを一体に備えている。
【0018】
駆動機械5は、図示する例では回転型モータ4の軸出力である回転位置を送りネジ51を介してスライダ52の並進位置に変換するアクチュエータである。この駆動機械5は、カップリング53と、送りネジ51と、スライダ52とを有している。
【0019】
回転型モータ4の出力軸には、カップリング53を介して送りネジ51が連結されている。また、スライダ52は上方に物を載置可能な台座であり、その下部には上記の送りネジ51が螺合している。これにより、上記回転型モータ4が正転又は逆転することで、当該スライダ52が送りネジ51で送られて当該回転型モータ4の回転方向に対応する方向(図中の左右方向)に沿った直進移動を行うよう駆動される。
【0020】
以上の構成において、モータ制御装置3は、エンコーダ41aから出力された検出位置に基づいて、スライダ52の位置が上記の位置指令に追従するよう回転型モータ4に出力するトルク指令を制御する位置フィードバック制御を行う。
【0021】
<本実施形態の特徴>
例えば上記実施形態にあるようなモータ制御装置3では、サーボモータ(上記実施形態の場合の回転型モータ4)の制御量である出力位置(上記実施形態の場合の検出位置)や出力速度をフィードバックして目的値である参照指令(上記実施形態の場合の位置指令や速度指令)との偏差を制御器(後述)に入力し、この制御器が出力する操作量(上記実施形態の場合のトルク指令)でサーボモータを制御するフィードバック制御を行う場合が多い。このモータ制御で駆動する駆動機械等においても、当該駆動機械に連結したサーボモータ自体の出力位置や出力速度を制御量としてフィードバックするセミクローズドフィードバック制御や、もしくは駆動機械の最終的な出力位置や出力速度を制御量としてフィードバックするフルクローズドフィードバック制御によって、駆動機械(例えば上記スライダ52)の位置制御や速度制御を行うことができる。
【0022】
上記のようなモータ制御装置3が備える制御器は多数の制御パラメータを用いた演算処理により操作量を出力するものであり、制御対象であるサーボモータや駆動機械の機械定数、及び付加しうる外乱に対応して適切に制御パラメータを設定することが望ましい。しかし、制御対象(サーボモータや駆動機械)を構成する部品点数が多くその構成が複雑でありながら高い制御精度(上記実施形態の場合の位置決め精度)や短い整定時間が要求される場合には、当該制御対象の個体差(部品の製造誤差や組立誤差等)や動作条件、経年劣化状況、使用環境状況の変化に応じて制御パラメータを厳密に調整する必要がある。
【0023】
これまでには、実際にサーボモータを駆動機械に連結した状態で、所定の調整用シーケンス動作を実行した際に検出した参照指令、操作量、及び制御量に基づいて制御対象の機械定数を推定し、これに基づいて制御パラメータを機械的に設定する手法があった。しかし、制御精度の高い要求を満たすためには、多様なシーケンス動作を繰り返し実行し、それらの検出データに基づく総合的な判断により制御パラメータを調整する必要がある。このような複雑で微妙な制御パラメータの調整は、熟練した技術者の勘と経験などの技量に依存した手作業を繰り返して非効率的に行わざるを得なかった。このため、当該駆動機械システムの導入時における初期調整はもちろん、運用開始後でも使用環境が変化した場合や経年劣化が進んだ場合の再調整においても、その度に専門の技術者が直接工場などの作業現場に出向いて長時間かけて調整しなければならず、制御装置の利便性を大きく損ねる要因となっていた。
【0024】
これに対し本実施形態のモータ制御装置3は、機械学習プロセスでの学習内容に基づいて、制御器の制御パラメータを調整する調整部32を有している。これにより、適宜のシーケンス動作時や外乱付加時に検出したデータに基づく機械学習プロセスを実行することにより、調整部32はその学習内容によって適切な制御パラメータの設定が可能となる。つまり、人手によらずとも当該モータ制御装置3自体による自律的な制御パラメータの調整を機械的に自動で行うことができる。このため、モータ制御装置3における制御パラメータの調整に対して人的コスト及び時間的コストを省力化できるとともに、技術者個人の技量差によらず一律に安定した制御精度を確保することができる。
【0025】
<制御パラメータの調整手法の概要>
図2は、上記モータ制御装置3における制御パラメータの調整手法の概要を表す制御ブロック図を示している。この図2において、外部から入力された参照指令rと、制御対象Pが出力する制御量yとの間の偏差が制御器K(ρ)に入力される。この制御器K(ρ)は、制御パラメータρに基づく演算処理により操作量uを出力し、この操作量uにより制御対象Pが制御される。なお、ここでいう参照指令r、操作量u、制御対象P、制御量yが、それぞれ上記実施形態における位置指令、トルク指令、回転型モータ4と駆動機械、検出位置に相当する(制御器K(ρ)の対応については後述する)。
【0026】
以上のようなフィードバック制御系において、制御器K(ρ)は可変な制御パラメータρを用いた所定の演算モデルであるため、その特性や挙動については完全に既知であるといえる。その一方、制御対象Pについては、設計値による概略的なモデルは知り得ているとしても、上述したように当該制御対象P自体の個体差(部品の製造誤差や組立誤差等)や動作条件、経年劣化状況、使用環境状況の変化によって、その実体的で詳細な特性や挙動については未知のものであるといえる。つまり、制御パラメータは、実際に適用された制御対象Pにおける具体的な機械定数や外乱に対応して適応するよう調整する必要がある。
【0027】
ここで、制御対象Pにおける未知の機械定数や外乱の因子は、参照指令rと制御量yとの間の相関関係に大きく影響を与えることが考えられる。そこで本実施形態の例では、多様なシーケンス動作時や外乱付加時における参照指令r、操作量u、制御量y、及びその他の動作条件cと、そのときに設定されていた制御パラメータとを対応付けたデータセットをデータベースDBに記録、保存する。そして、調整部Calがそれらのデータセットに基づく機械学習プロセスを実行することで、参照指令rと制御量yとの対応関係から推定される制御対象Pの機械定数と外乱に対応して適切な制御パラメータρnewを設定することができる。
【0028】
<フィードバック制御部と調整部の具体的な適用例>
図3は、フィードバック制御部31を含めたフィードバック制御系と、調整部32との間における各情報の送受関係の一例を示している。なお、図示するフィードバック制御系は、伝達関数形式の制御ブロックで表している。この図3においては、フィードバック制御部31と、モータ・駆動機械60と、調整部32と、データベースDBが示されている。
【0029】
フィードバック制御部31は、減算器34、位置ループゲインKp、減算器35、積分器(1/T・s)、加算器36、速度ループゲインKv、及び速度演算器37を有している。
【0030】
減算器34は、外部から入力された位置指令から、モータ・駆動機械60から検出された検出位置を減算してそれらの間の位置偏差を出力する。この位置偏差に位置ループゲインKpを乗算して速度指令が出力される。本実施形態の例では、この位置ループゲインKpが位置制御用の制御器(上記図2における制御器K(ρ))として機能し、いわゆる位置比例制御を行うよう構成されている。
【0031】
減算器35は、上記の速度指令から、後述の速度演算器37から出力された検出速度を減算してそれらの間の速度偏差を出力する。積分器(1/T・s)は、速度偏差に対して速度ループ積分時定数Tに基づく積分演算を行い、加算器36がこの積分器(1/T・s)の出力と速度偏差を加算して出力する。この加算出力に速度ループゲインKvを乗算してトルク指令が出力される。本実施形態の例では、これら積分器(1/T・s)及び速度ループゲインKvもまた速度制御用の制御器(上記図2における制御器K(ρ))として機能し、いわゆる速度積分比例制御を行うよう構成されている。
【0032】
速度演算器37は、モータ・駆動機械60から検出された検出位置に基づいて検出速度(回転型モータ4の出力速度)を出力する演算器であり、具体的には微分器sで構成すればよい。
【0033】
モータ・駆動機械60(上記図2における制御対象Pに相当)は、上記図1における回転型モータ4と駆動機械5に相当し、回転型モータ4の回転子と駆動機械5の可動部分とを連結させた可動機構全体の慣性モーメントJに基づく数理モデルである。なお特に図示しないが、上記速度ループゲインKvに回転型モータ4の回転子の慣性モーメントJをさらに乗算した場合には、このモータ・駆動機械60中の数理モデルを慣性モーメント比で定義してもよい。
【0034】
以上のようにフィードバック制御部31とモータ・駆動機械60で構成する本実施形態の例のフィードバック制御系は、位置比例制御系のフィードバックループと、速度積分比例制御系のフィードバックループの2重ループ構成(いわゆるP−IP制御)となっている。なお本実施形態では、トルク指令に基づいて例えばPWM制御による駆動電流をモータ・駆動機械60に出力する電流制御部と、その内部に備えられる電流制御系のフィードバックループについては、説明を簡略化するために省略している。
【0035】
以上のフィードバック制御系に対し、調整部学習用データセットを取得する際には、制御パラメータρに相当する位置ループゲインKp、速度ループ積分時定数T、及び速度ループゲインKvの各値を適宜仮設定した状態で、所定の調整用シーケンス動作を実行した際の位置指令(参照指令rに相当)、トルク指令(操作量uに相当)、検出位置(制御量yに相当)を記録する。本実施形態の例では、これら位置指令、トルク指令、及び検出位置(以下において、これらをまとめて状態量データという)のそれぞれは、図4に示すように当該調整用シーケンス動作を実行した際の同一時系列で瞬時値を逐次記録した時系列パターンデータとして記録される。なお、図4中に示す例では、位置指令を0から所定位置までインチング制御で増加させた位置決め動作でシーケンス動作を実行した場合の各状態量の時系列パターンデータ(太実線の波形データ)を示している。また図4(d)中に示すdは位置偏差を表しており、これについては後述する。
【0036】
なお、図示する例では位置指令制御を行った場合を示しているが、この他にも速度指令制御やトルク指令制御でシーケンス動作を実行してもよい。例えば、図4(b)に示すような加速時・減速時の加速度が一定で定常速度が一定値を保つ区間がある台形状の時系列パターンそのままで速度指令を入力してシーケンス動作を実行させてもよい。または、そのような時系列パターンにおける加減速時と一定速度時の切り替わり部分の加速度の連続性が担保される多項式、三角関数や指数関数で表現される速度指令などを入力してシーケンス動作を実行させてもよい。
【0037】
そしてデータベースDBでは、多様な調整用シーケンス動作ごとに、各状態量データの時系列パターンデータと、当該調整用シーケンス動作時に仮設定した各制御パラメータKp,T,Kvとを対応付けて1つの調整部学習用データセットを作成し、保存する(図3中の破線矢印参照)。なお、このデータベースDBは、モータ制御装置3の内部に備える記憶装置で構成してもよいし、またはモータ制御装置3と情報送受可能に接続された外部の記憶装置で構成してもよい(上記図1では図示省略)。
【0038】
データベースDBに十分な数の調整部学習用データセットが取得された後には、これら調整部学習用データセットを用いたバッチ学習(オフライン学習)により調整部32を機械学習(データ学習)させる。そしてその学習内容に基づいて調整部32が各制御パラメータKp,T,Kvを設定するフェーズでは、各制御パラメータを仮設定した状態で機械制御システム1の実動運用シーケンス動作を実行した際の各状態量データの時系列パターンデータが調整部32に入力され、当該調整部32がフィードバック制御部31に最適な制御パラメータKp,T,Kvを出力する。そして、これら出力された制御パラメータKp,T,Kvをフィードバック制御部31に本設定することで、運用時での当該フィードバック制御系における高い制御精度を確保できる(図3中の点線矢印参照)。
【0039】
<調整部の具体的構成について>
調整部32には多様な機械学習手法を適用できるが、以下においては例えば機械学習アルゴリズムに深層学習(ディープラーニング)を適用した場合の例を説明する。図5は、深層学習を適用した場合における調整部32のニューラルネットワークの概略モデル構成の一例を示している。
【0040】
この図5において、調整部32のニューラルネットワークは、各部から入力された状態量データである位置指令、トルク指令、及び検出位置の各時系列パターンデータに対して、これら状態量データの間の対応関係、特に位置指令と検出位置の間の対応関係から推定されるモータ・駆動機械60の機械定数に適切に対応した制御パラメータKp,T,Kvを出力するよう設計されている。なお、図5に示すニューラルネットワークの概略モデル構成例においては、上記の機械定数に相当する値や信号(例えば素性を表す値や信号)については図示を省略している。
【0041】
ここで、時系列パターンデータである各状態量データの入力については、それぞれ同一の所定サンプリング周期でサンプリングした瞬時値が時系列順に並ぶ各入力ノードに入力される。また、調整部32の各出力ノードが出力する制御パラメータKp,T,Kvについては、それぞれ回帰問題処理による多値出力(連続値)により出力される。これらの制御パラメータKp,T,Kvの設定処理は、当該調整部32の学習フェーズにおける機械学習プロセスでの学習内容に基づくものである。すなわちこの調整部32のニューラルネットワークは、各状態量データの間の相関関係と適切な制御パラメータKp,T,Kvとの相関を表す特徴量を学習している。
【0042】
この調整部32の機械学習プロセスについては、上記のように設計された多層ニューラルネットワークがモータ制御装置3上でソフトウェア的(又はハードウェア的)に実装された後、データベースDBに保存した多数の調整部学習用データセットを用いていわゆる教師あり学習により調整部32に学習させる。ここで用いる調整部学習用データセットは、例えば図6に示すように、各種の調整用シーケンスデータを実行した際の各状態量データ(時系列パターンデータ)及び評価値と、その際に仮設定した制御パラメータKp,T,Kvとを対応付けたデータセットである。図示する例の評価値は、対応するデータセットの制御パラメータKp,T,Kvを適用したフィードバック制御系のシーケンス動作における応答性についての評価を示す指標である。この評価値は、例えば上記図4(d)に示した位置偏差dや、オーバーシュートやアンダーシュート時の振動振幅、過渡期が終了するまでの整定時間、制御量が指令に対して追従するまでの立ち上がり時間、トルク指令値のリップルの大きさ、トルク指令値と速度から推定できる消費電力値などのように当該データセットの状態量データに基づいて総合的に求めてもよい。また、複数の正弦波を組み合わせたトルク指令を入力し、その応答から計算される位相余裕・ゲイン余裕・感度関数の値を指標としても良い。なお図6中では、この評価値を「高」、「低」の2段階の指標で表しているが、3段階以上の指標で表してもよいし、また数値で表してもよい。
【0043】
本実施形態の例における調整部32の上記学習フェーズでは、状態量データを入力データとし、制御パラメータを出力データとした組み合わせの教師データを用いて、調整部32のニューラルネットワークの入力層と出力層の間の関係性が成立するよう各ノードどうしをつなぐ各エッジの重み係数を調整するいわゆるバックプロパゲーション処理等により学習を行う。このバックプロパゲーション処理では、多数のデータセットのうち特に評価値の高いデータセットのみを抽出し、これだけを教師データに用いて各エッジの重み係数を強めるよう調整してもよい。または、全てのデータセットを教師データとし、それぞれの評価値に応じて各エッジの重み係数を強めたり弱めたりするよう調整してもよい。なお、このようなバックプロパゲーションの他にも、いわゆるオートエンコーダ、制限付きボルツマンマシン、ドロップアウト、ノイズ付加、及びスパース正則化などの公知の多様な学習手法を併用して処理精度を向上させてもよい。この調整部32の学習フェーズが、各請求項記載の機械学習プロセスに相当する。
【0044】
なお上述したように、調整部32の機械学習アルゴリズムは、図示した深層学習によるもの以外にも、例えばサポートベクトルマシンやベイジアンネットワーク等を利用した他の機械学習アルゴリズム(特に図示せず)を適用してもよい。その場合でも、入力した状態量データに適切に対応する制御パラメータを出力するという基本的な構成については同等となる。
【0045】
<機械学習プロセスのデータ学習について>
ニューラルネットワークで構成した上記調整部32に対する機械学習プロセスの具体的な手順について、以下に説明する。図7は、モータ制御装置3のCPU901(後述の図12参照)が、本実施形態の例におけるデータ学習により機械学習プロセスを実行する場合の処理手順のフローチャートを示している。このフローに示すデータ学習処理は、例えば上位制御装置2から機械学習プロセスを実行するよう指令入力されることで開始する。
【0046】
まずステップS5で、CPU901は、各制御パラメータ(この例のKp,T,Kv)を仮設定する。この各制御パラメータの仮設定は、それぞれ適宜の設定可能範囲内でのランダムな値の組み合わせで設定する。または、適用するフィードバック制御系に対して妥当と考えられる人為的な設計値を個別に増減変化させて設定してもよい。
【0047】
次にステップS10へ移り、CPU901は、予め用意された多種の調整用シーケンス動作から1つを選択する。
【0048】
次にステップS15へ移り、CPU901は、上記ステップS10で選択した調整用シーケンスの位置指令をフィードバック制御部31に入力して対応するシーケンス動作をモータ・駆動機械60に実行させる。
【0049】
次にステップS20へ移り、CPU901は、上記ステップS15での調整用シーケンス動作の実行中に、位置指令、トルク指令、検出位置の各状態量データを記録する。
【0050】
次にステップS25へ移り、CPU901は、上記ステップS20で記録した各状態量データと、上記ステップS5で仮設定した各制御パラメータで1つの調整部学習用データセットを作成する。また、このデータセットには、その各状態量データやその他の手法に基づいて求められる応答性についての評価値も含まれる。
【0051】
次にステップS30へ移り、CPU901は、予め用意された多種の調整用シーケンス動作についてデータセットが作成されたか否かを判定する。まだデータセットが作成されていない調整用シーケンス動作が残っている場合、判定は満たされず、上記ステップS10に戻り同様の手順を繰り返す。
【0052】
一方、予め用意された全ての調整用シーケンス動作についてデータセットが作成された場合、判定が満たされ、ステップS35へ移る。
【0053】
ステップS35では、CPU901は、仮設定する制御パラメータを変えて新たに多種の調整用シーケンス動作を繰り返して調整部学習用データセットを作成するか否かを判定する。言い換えると、データセットの作成を終了するか否かを判定する。新たな制御パラメータに仮設定してデータセットの作成を続行する場合、判定は満たされず、上記ステップS5に戻り新たな制御パラメータを仮設定して同様の手順を繰り返す。
【0054】
一方、データセットの作成を終了する場合、判定が満たされ、ステップS40へ移る。
【0055】
ステップS40では、CPU901は、作成した調整部学習用データセットを用いて調整部32のデータ学習を実行する。そして、このフローを終了する。
【0056】
なお、以上のようなオフライン学習(バッチ学習)でのデータ学習処理による機械学習プロセスは、当該機械制御システム1の稼働開始前に行ってもよいし、または回転型モータ4や駆動機械5の経年劣化状況や使用環境の変化に応じた制御精度の向上を目的として稼働開始後の必要時に行ってもよい。
【0057】
<本実施形態による効果>
以上説明したように、本実施形態の機械制御システム1は、機械学習プロセスでの学習内容に基づいて、フィードバック制御部31が備える各制御器の制御パラメータを調整する調整部32を有している。これにより、適宜のシーケンス動作時に検出した状態量データに基づく機械学習プロセスを実行することにより、調整部32はその学習内容によって適切な制御パラメータの設定が可能となる。つまり、人手によらずとも当該モータ制御装置3自体による自律的な制御パラメータの調整を機械的に自動で行うことができる。このため、モータ制御装置3における制御パラメータの調整に対して人的コスト及び時間的コストを削減できるとともに、技術者個人の技量差によらず一律に安定した制御精度を確保することができる。この結果、制御装置の利便性を向上できる。
【0058】
なお、本実施形態では、フィードバック制御系に対してのみ制御パラメータを調整する場合を説明したが、これに限られない。例えば、さらにフィードフォワード制御系も含む制御系に対してもそのフィードフォワードゲイン等の制御パラメータの調整に本実施形態の調整部32の手法を適用してもよい。さらに、制御系に各種のオブザーバや補償器が含まれる場合にも、それらの内部に用いられる各種の制御パラメータの調整に同じ手法を適用してもよい。また、本実施形態のようないわゆるモーション制御に限られず、他にもいわゆるプロセス制御の制御パラメータの調整に同じ手法を適用してもよい。
【0059】
また、本実施形態では特に、調整部32は、位置指令と検出位置との対応関係から推定されるモータ・駆動機械60の機械定数(または後述する外乱)に対応した制御パラメータを設定する。これにより、調整部32は、フィードバック制御部31が有する各制御器に対して具体的に推定されるモータ・駆動機械60(制御対象P)の機械定数(または後述する外乱)に対応した適切な制御パラメータを設定できる。
【0060】
また、本実施形態では特に、機械学習プロセスでは、位置指令、トルク指令、及び検出位置の少なくとも1つと仮設定した制御パラメータとを対応付けた調整部学習用データセットを用いたデータ学習(オフライン学習、バッチ学習)により調整部32を機械学習させる。これにより、調整部32に対してデータセットを用いた教師あり学習による具体的な機械学習プロセスの実行を実現できる。また、データ学習をオンライン学習で行うことにより、特に当該機械制御システム1の稼働中における経年劣化状況や使用環境状況の変化にも逐次対応して常時適切な制御パラメータの設定が可能となる。なお、モータ・駆動機械60のシーケンス動作における制御精度に影響を与え得る環境データ(駆動機械5の周囲温度や姿勢など)などを別途のセンサで検出し調整部学習用データセットに含めて調整部32にデータ学習させてもよい。
【0061】
また、本実施形態では特に、調整部学習用データセットの位置指令、トルク指令、及び検出位置は、同一のシーケンス動作時における時系列パターンデータである。これにより、調整部32は、各状態量データの変化態様に対応した機械学習が可能となり、多様なシーケンス動作に適切に対応した汎用性の高い制御パラメータの設定が可能となる。なお、同一のフィードバック制御部31に対して、多様なモータ・駆動機械60に変えて調整部学習用データセットを作成し同一の調整部32に学習させることで、当該調整部32が多様なモータ・駆動機械60に柔軟に対応した制御パラメータの調整が可能となり、当該フィードバック制御部31の汎用性が向上する。
【0062】
また、本実施形態では特に、調整部学習用データセットには評価値が含まれており、機械学習プロセスでは評価値に基づいて機械学習する。これにより、調整部32の機械学習プロセスにおいて、各調整部学習用データセットのデータ学習をその評価値に応じて機械学習させることができ、フィードバック制御部31の制御精度をさらに向上できる。
【0063】
また、本実施形態では特に、制御パラメータは、位置ループゲインKp、速度ループゲインKv、速度ループ積分時定数T(及びモータ・駆動機械60の慣性モーメント比)の少なくとも1つを含んでいる。これにより、フィードバック制御部31が備える各制御器に対して好適な制御パラメータの設定が可能となる。また必要に応じて、モデル追従制御ゲイン、トルク指令フィルタ時定数、ノッチフィルタ周波数、ノッチフィルタQ値、又はノッチフィルタ深さなどの他の制御パラメータを含めてもよい。
【0064】
<変形例>
なお、以上説明した実施形態は、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【0065】
<変形例1:機械学習プロセスを強化学習で行う場合>
上記実施形態では、状態量データに対応する適切な制御パラメータの機械学習プロセスをデータ学習により行っていたが、これに限られない。他にも、図8に例示するような強化学習処理の機械学習プロセスにより、調整部32のニューラルネットワークの学習を行ってもよい。なお、図示する本変形例の強化学習処理では、いわゆるQ学習の手法に基づいて行う。
【0066】
まずステップS105で、CPU901は、各制御パラメータを仮設定する。この各制御パラメータの初期的な仮設定は、適用するフィードバック制御系に対して妥当と考えられる人為的な設計値で設定する。
【0067】
次にステップS110へ移り、CPU901は、新たな制御パラメータを探索する。この新たな制御パラメータの探索については、その時点まで適切(後述のいわゆるQ値が最大)であるとして設定される制御パラメータから、小さな確率でランダムな方向に修正した制御パラメータを設定するか、もしくはそれ以外のほとんどの確率では適切であるとされる制御パラメータそのままとする。
【0068】
次にステップS115へ移り、CPU901は、上記ステップS110で探索設定した制御パラメータで、所定の調整用シーケンス動作を実行する。
【0069】
次にステップS120へ移り、CPU901は、上記ステップS115での調整用シーケンス動作の実行中に、位置指令、トルク指令、検出位置の各状態量データを記録する。
【0070】
次にステップS125へ移り、CPU901は、上記ステップS120で記録した各状態量データに基づいて今回の調整用シーケンス動作に対する評価を行い、この評価に応じた報酬を算出する。
【0071】
次にステップS130へ移り、CPU901は、上記ステップS110で探索設定した制御パラメータと、上記ステップS125で算出した報酬に基づくいわゆるQ学習により、調整部32のニューラルネットワークに対する強化学習を行う。上記ステップS115でのシーケンス動作の試行に対して、設定されている制御パラメータの有効性を示すQ値がより最大化するよう制御パラメータを学習する。このQ学習による強化学習については、公知の手法を用いればよくここでは詳細な説明を省略する。
【0072】
次にステップS135へ移り、CPU901は、調整部32のニューラルネットワークに対し、十分な試行回数で機械学習が行われたか否かを判定する。機械学習が不十分であって当該強化学習処理を終了しない場合には、判定は満たされず、上記ステップS110に戻って同様の手順を繰り返す。
【0073】
一方、機械学習が十分であって当該強化学習処理を終了する場合には、判定が満たされ、このフローを終了する。
【0074】
以上説明したように、本変形例の機械制御システム1は、機械学習プロセスが、位置指令、トルク指令、及び検出位置の少なくとも1つに基づく強化学習(Q学習等)により制御パラメータを機械学習する。これにより、事前に多数の学習用データセットを用意せずとも、高い制御精度を実現する制御パラメータの設定が可能となる。
【0075】
また、本変形例では特に、強化学習は、所定の調整用シーケンス動作時における制御パラメータの設定に対する報酬に基づいて強化学習する。これにより、調整部32は、多様なシーケンス動作に適切に対応した応答性の高い制御パラメータの設定が可能となる。
【0076】
<変形例2:外乱付加に対して適切な制御パラメータを設定する場合>
上記実施形態では、調整部32が、フィードバック制御系のシーケンス動作における応答性の向上を目的とした観点で制御パラメータを設定していたが、これに限られない。他にも、調整部32は、制御対象に付加された外乱(特に動的に付加された外乱)に対するロバスト性の向上を目的とした観点で制御パラメータを設定してもよい。
【0077】
この場合には、例えば図9に示すように、当該機械制御システム1の稼働時に想定し得る同一の外乱付加時において記録された各状態量データの時系列パターンデータを含めて調整部学習用データセットを作成し、データ学習する。なお、図示する例の調整部学習用データセットでは、移動中のスライダ52に所定重量の物体を置いた場合の各状態量データと、ロバスト性についての評価値が例示されている。このような外乱付加と上記実施形態におけるシーケンス動作の違いを、上記図2に示した動作条件cとして調整部学習用データセットを区別してもよい。
【0078】
以上説明したように、本変形例の機械制御システム1は、調整部学習用データセットの位置指令、トルク指令、検出位置の各状態量データは、同一の外乱付加時における時系列パターンデータである。これにより、調整部32は、多様な外乱に対してロバスト性を向上できる制御パラメータの設定が可能となる。
【0079】
また調整部32は、このような外乱付加に対する制御パラメータの設定を、上述した強化学習により学習してもよい。この場合には、強化学習は、所定の外乱付加時における制御パラメータの設定に対する報酬に基づいて強化学習する。このような強化学習によっても、調整部32は、多様な外乱に対してロバスト性を向上できる制御パラメータの設定が可能となる。
【0080】
<変形例3:調整部を分割して機械定数を出力する場合>
上記実施形態では、調整部32が、連続した一体のニューラルネットワークで構成されている例を説明したが、これに限られない。他にも、図10に示すように、調整部32を構成するニューラルネットワークを層方向に2つに分割し、それらの間で機械定数(又は外乱)を出力させてもよい。例えば、状態量データを入力する入力層側(図中の左側)のニューラルネットワークを例えば第1ニューラルネットワーク71とし、制御パラメータを出力する出力層側(図中の右側)のニューラルネットワークを例えば第2ニューラルネットワーク72とする。なお図中では、図示の煩雑を避けるために、ノードとエッジの図示を省略して各ニューラルネットワークを矩形ブロックで示している。
【0081】
この場合、第1ニューラルネットワーク71においては、各部から入力された状態量データである位置指令、トルク指令、及び検出位置の各時系列パターンデータに対して、これら状態量データの間の対応関係から推定される機械定数(又は外乱)を出力するよう設計されている。なお、図示する例では、機械定数として慣性モーメント、弾性係数、第1共振周波数、第2共振周波数を例示している(外乱の場合は例えば付加する外乱質量や外乱弾性など;図示省略)。この第1ニューラルネットワーク71の機械学習プロセスにあたっては、例えば所定の調整用シーケンス動作時に各状態量データを記録するとともに、制御対象Pの機械定数を別途の検出機械や検出試験等によって正確に検出し、それらをまとめた第1ニューラルネットワーク71用の学習用データセットを作成する。そして多数の学習用データセットを用いたデータ学習を実行することで、第1ニューラルネットワーク71は各状態量データの間の相関関係と機械定数との相関を表す特徴量を学習する。
【0082】
なお、上記の調整用シーケンス動作時に仮設定した制御パラメータを特に仮設定制御パラメータ(図中に示すKp′、Kv′、T′)とし、図示するように状態量データとともに第1ニューラルネットワーク71に入力することで出力させる機械定数(又は外乱)の推定精度を向上させてもよい。この場合には、仮設定制御パラメータもまた学習用データセットに併せて記録し、第1ニューラルネットワーク71のデータ学習に用いる。なお、このような第1ニューラルネットワーク71に入力する仮設定制御パラメータに対して、以下においては第2ニューラルネットワーク72に出力させる制御パラメータを図示するように適応制御パラメータという。
【0083】
また、第2ニューラルネットワーク72においては、上記第1ニューラルネットワーク71から入力された機械定数(又は外乱)に対して、これらの機械定数の間の対応関係から適切とされる適応制御パラメータKp,Kv,Tを出力するよう設計されている。この第2ニューラルネットワーク72の機械学習プロセスにあたっては、それぞれ既知の機械定数(又は外乱)にある多数の制御対象に対して所定の調整用シーケンス動作を行わせるために適応制御パラメータを別途人為的に適切に設定し、これら機械定数と適応制御パラメータをまとめた第2ニューラルネットワーク72用の学習用データセットを作成する。そして多数の学習用データセットを用いたデータ学習を実行することで、第2ニューラルネットワーク72は各機械定数(又は外乱)の間の相関関係と適応制御パラメータとの相関を表す特徴量を学習する。
【0084】
以上説明したように、本変形例の機械制御システム1は、機械定数(又は外乱)を具体的な値で出力することができ、これを参照することで調整部32が設定した適応制御パラメータの妥当性を容易に検討できる。
【0085】
<変形例4:調整部に事前学習させる場合>
上記実施形態では、最初から調整部学習用データセットだけを用いて調整部32をデータ学習させる手法について説明したが、これに限られない。他にも、公知の演算手法により概略的に適切とされる制御パラメータを算出し、これを用いて調整部32に事前学習させてもよい。
【0086】
例えば図11に示すように、各状態量データに基づいて仮設定制御パラメータを算出する推定部33をモータ制御装置3Aに設け、その算出された仮設定制御パラメータを調整部32に入力する。この場合、推定部33は、所定の調整用シーケンス動作で検出した各状態量データから公知の演算手法により制御対象Pの機械定数を求め、この機械定数と当該フィードバック制御系に対応した状態方程式に基づいて仮設定制御パラメータを推定する。この推定部33が推定した仮設定制御パラメータは、当該制御対象Pの個体差(部品の製造誤差や組立誤差等)や動作条件、経年劣化状況、使用環境状況の変化に厳密に対応していないだけであって、設計上の数理モデルでは概略的に適切であり最終的に求めたい適応制御パラメータとは少しの違いでしかない。したがってこの推定部33が推定した仮設定制御パラメータで仮設定することで、調整部32の機械学習プロセスでは微調整(ファインチューニング)を行うだけとなり、つまり事前学習を行えることになる。
【0087】
以上説明したように、本変形例の機械制御システム1は、所定のシーケンス動作で制御パラメータを推定する推定部33を有し、機械学習プロセスは、推定部33が推定した制御パラメータで事前学習する。これにより、調整部32の機械学習プロセスで必要とされる学習時間を大幅に短縮できる。
【0088】
また特に図示しないが、推定部33が公知の演算手法に基づいて各状態量データから制御対象Pの機械定数だけを推定し、調整部32に入力してもよい。この場合には、上記図10に示した第1ニューラルネットワーク相当部分の事前学習が可能となり、その学習時間を大幅に短縮できる。
【0089】
<モータ制御装置のハードウェア構成例>
次に、図12を参照しつつ、上記で説明したCPU901が実行するプログラムによりソフトウェア的に実装されたフィードバック制御部31、調整部32等による処理を実現するモータ制御装置3のハードウェア構成例について説明する。
【0090】
図12に示すように、モータ制御装置3は、例えば、CPU901と、ROM903と、RAM905と、ASIC又はFPGA等の特定の用途向けに構築された専用集積回路907と、入力装置913と、出力装置915と、記録装置917と、ドライブ919と、接続ポート921と、通信装置923とを有する。これらの構成は、バス909や入出力インターフェース911を介し相互に信号を伝達可能に接続されている。
【0091】
プログラムは、例えば、ROM903やRAM905、記録装置917等に記録しておくことができる。
【0092】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のCD・MOディスク・DVD等の光ディスク、半導体メモリ等のリムーバブルな記録媒体925に、一時的又は永続的に記録しておくこともできる。このような記録媒体925は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体925に記録されたプログラムは、ドライブ919により読み出されて、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0093】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等(図示せず)に記録しておくこともできる。この場合、プログラムは、LANやインターネット等のネットワークNWを介し転送され、通信装置923がこのプログラムを受信する。そして、通信装置923が受信したプログラムは、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0094】
また、プログラムは、例えば、適宜の外部接続機器927に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート921を介し転送され、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0095】
そして、CPU901が、上記記録装置917に記録されたプログラムに従い各種の処理を実行することにより、上記のフィードバック制御部31、調整部32等による処理が実現される。この際、CPU901は、例えば、上記記録装置917からプログラムを直接読み出して実行してもよいし、RAM905に一旦ロードした上で実行してもよい。更にCPU901は、例えば、プログラムを通信装置923やドライブ919、接続ポート921を介し受信する場合、受信したプログラムを記録装置917に記録せずに直接実行してもよい。
【0096】
また、CPU901は、必要に応じて、例えばマウス・キーボード・マイク(図示せず)等の入力装置913から入力する信号や情報に基づいて各種の処理を行ってもよい。
【0097】
そして、CPU901は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置915から出力してもよく、さらにCPU901は、必要に応じてこの処理結果を通信装置923や接続ポート921を介し送信してもよく、上記記録装置917や記録媒体925に記録させてもよい。
【0098】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【0099】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【0100】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【0101】
1 機械制御システム
2 上位制御装置
3,3A モータ制御装置(制御装置)
4 回転型モータ(制御対象)
5 駆動機械(制御対象)
31 フィードバック制御部
32 調整部
33 推定部
60 モータ・駆動機械(制御対象)
71 第1ニューラルネットワーク(調整部)
72 第2ニューラルネットワーク(調整部)
DB データベース
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12