(58)【調査した分野】(Int.Cl.,DB名)
前記産業機器に対する制御よりも前の前記他の産業機器に対する制御が異常であるかどうかを示す他機器制御異常情報および前記産業機器の動作よりも前の前記他の産業機器の動作が異常であるかどうかを示す他機器動作異常情報のうちの少なくとも1つを取得する異常情報取得部をさらに備え、
前記評価基準生成部は、
前記他の事前制御情報および前記他機器制御異常情報と前記他の事前動作情報および前記他機器動作異常情報とのうちの少なくとも1つに基づいて、前記評価基準を生成する
ことを特徴とする請求項17記載の評価装置。
【発明を実施するための形態】
【0012】
以下、実施の形態について図面を参照しつつ説明する。
【0013】
<機械制御システムの概略構成>
図1は、本実施形態の評価装置を備えた機械制御システムの概略的なシステムブロック構成の一例を表している。この機械制御システムは、回転型モータの駆動を制御することによりスライダの直進移動を制御するシステムである。
図1において、機械制御システム1は、上位制御装置2と、モータ制御装置3と、回転型モータ4と、駆動機械5と、評価装置6とを有している。なお、回転型モータ4および駆動機械5が、各請求項記載の産業機器に相当する。
【0014】
上位制御装置2は、例えば特に図示しないCPU、ROM、RAM、操作部、表示部等を備えた汎用パーソナルコンピュータ等で構成されている。この上位制御装置2は、上記操作部を介して操作者から入力された各種設定や指令に基づいて、後述する駆動機械5のスライダに対し位置指令を生成し、モータ制御装置3に入力する。
【0015】
モータ制御装置3は、上記上位制御装置2から入力された位置指令に基づいてトルク指令を生成し、回転型モータ4に入力する。この際、モータ制御装置3は、回転型モータ4が備える後述のエンコーダ41aから出力された検出位置に基づいて、回転型モータ4の位置のフィードバック制御を行う。なお、このモータ制御装置3が、各請求項記載の制御装置に相当する。
【0016】
また、モータ制御装置3は、フィードバック制御部31と、調整部32とを有している。 フィードバック制御部31は、上記位置指令および上記検出位置に基づき上記トルク指令の生成を行う演算部である。なお、このフィードバック制御部31の機能的構成については後の
図3に示す機能ブロック図により詳述する。
【0017】
調整部32は、上記位置指令、上記検出位置、および上記トルク指令に基づいて、上記フィードバック制御部31におけるトルク指令の演算処理に用いられる制御パラメータ(後述)を適宜の状況で調整する処理部である。なお、この調整部32の処理内容についても後に詳述する。
【0018】
回転型モータ4は、例えば同期型の3相交流モータである。この回転型モータ4は、当該回転型モータ4の出力軸の回転位置を上記検出位置として出力するエンコーダ41aを、一体的に備えている。
【0019】
駆動機械5は、図示する例では、カップリング53と、送りネジ51と、スライダ52とを有するアクチュエータである。上記回転型モータ4の出力軸に、上記カップリング53を介して上記送りネジ51が連結されている。スライダ52は上方に物を載置可能な台座であり、その下部には上記送りネジ51が螺合している。これにより、上記回転型モータ4が正逆転することで、当該スライダ52が送りネジ51で送られ、当該回転型モータ4の回転方向に対応する方向(図中の左右方向)に沿った直進移動を行うよう駆動される。すなわち、この駆動機械5は、回転型モータ4の軸出力である上記回転位置を、上記送りネジ51を介して上記スライダ52の並進位置に変換する。
【0020】
なお、評価装置6については後述する。
【0021】
<本実施形態の特徴>
以上の構成において、モータ制御装置3のフィードバック制御部31は、前述したように、エンコーダ41aから出力された上記検出位置に基づいて、スライダ52の位置が上記位置指令に追従するよう、回転型モータ4に入力する上記トルク指令を制御する位置フィードバック制御を行う。このとき、上記フィードバック制御部31は、多数の上記制御パラメータを用いた演算処理により上記トルク指令を出力する。そのため、上記調整部32は、上記回転型モータ4や駆動機械5の機械定数、および付加しうる外乱等に対応して、適切に上記制御パラメータを設定する。
【0022】
このとき、本実施形態では、最大の特徴として、上記のような調整部32による制御パラメータの設定が本当に適正であるかどうかの検証が行われる。すなわち、機械制御システム1に上記評価装置6が設けられ、この評価装置6が、上記検出位置および上記トルク指令に基づいて、上記モータ・駆動機械4,5に対するモータ制御装置3による制御、および、モータ・駆動機械4,5の動作のうちの少なくとも一方(詳細には調整部32が調整した制御パラメータ)を評価する。
【0023】
<制御パラメータの調整および評価手法の概要>
図2は、上記モータ制御装置3における制御パラメータの調整手法の概要、および、その調整された制御パラメータの評価装置6による評価手法の概要、を模式的に表す制御ブロック図を示している。
【0024】
この
図2において、外部から入力された指令情報rと、産業機器(上記回転型モータ4および駆動機械5。ここでは単に「産業機器4,5」と図示)が出力する動作情報yとの間の偏差が、上記フィードバック制御部31に入力される。このフィードバック制御部31は、制御パラメータρに基づく演算処理により制御情報uを出力し、この制御情報uにより産業機器4,5が制御される。なお、ここでいう指令情報rが上記位置指令に相当し、制御情報uが上記トルク指令に相当し、動作情報yが上記検出位置に相当する。
【0025】
以上のようなフィードバック制御系において、フィードバック制御部31は可変な制御パラメータρを用いた所定の演算モデルであるため、その特性や挙動については完全に既知であるといえる。その一方、産業機器4,5については、設計値による概略的なモデルは知り得ているとしても、当該産業機器4,5自体の個体差(部品の製造誤差や組立誤差等)や動作条件、経年劣化状況、使用環境状況の変化によって、その実体的で詳細な特性や挙動については未知のものであるといえる。つまり、制御パラメータρは、実際に適用された産業機器4,5における具体的な機械定数や外乱に対応して適応するよう調整する必要がある。
【0026】
ここで、産業機器4,5における上記未知の機械定数や外乱の因子は、指令情報rと動作情報yとの間の相関関係に大きく影響を与えることが考えられる。そこで本実施形態では、多様なシーケンス動作時や外乱付加時における指令情報r、制御情報u、動作情報y、およびその他の動作条件cと、そのときに設定されていた制御パラメータρとを対応付けた調整部学習用データセット(後述の
図6参照)をデータベースDB(後述の
図3参照)に記録、保存する。そして、上記調整部32が、その調整部学習用データセットに基づく機械学習プロセスを実行することで、指令情報r、制御情報u、および動作情報yとの対応関係から推定される産業機器4,5の機械定数と外乱に対応して適切な制御パラメータρ
NEWを設定する。
【0027】
その一方で、評価装置6は、同じく多様なシーケンス動作時や外乱付加時における指令情報r、制御情報u、動作情報y、およびその他の動作条件cと、そのときに設定されていた制御パラメータに対する評価値とを対応付けた評価基準生成部学習用データセット(後述の
図11参照)を別途記録、保存する。そして、評価装置6がその評価基準生成部学習用データセットに基づく機械学習プロセス(上記調整部32により実行される機械学習プロセスとは別)を実行することで、制御情報u、および動作情報yとの対応関係から、そのときに設定されていた上記制御パラメータρ
NEWに対して推定される評価情報を出力することができる。そして調整部32による制御パラメータの設定が適正でない場合には、操作者に対し警告を発する、あるいは、調整部により制御パラメータを再調整したり回転型モータ4や駆動機械5を停止する、等の適宜の対応をとることができる。
【0028】
<具体的構成>
以下、上記手法を実行するための具体的構成を順を追って説明する。
【0029】
<フィードバック制御部31および調整部32>
図3は、上記フィードバック制御部31を含むフィードバック制御系と、上記調整部32との間における各情報の送受関係の一例を、伝達関数形式の制御ブロックで表している。
図3に示すように、このフィードバック制御系には、上記フィードバック制御部31と、上記回転型モータ4および駆動機械5(以下適宜、単に「モータ・駆動機械4,5」と称する)と、上記調整部32と、データベースDBとが備えられている。
【0030】
フィードバック制御部31は、減算器34、ゲイン乗算器38、減算器35、積分器39、加算器36、ゲイン乗算器38、ゲイン乗算器40、および速度演算器37を有している。
【0031】
減算器34は、上記上位制御装置2から入力された上記位置指令から、モータ・駆動機械4,5で検出された上記検出位置を減算し、それらの間の位置偏差をゲイン乗算器38へ出力する。そして、ゲイン乗算器38は、上記位置偏差に位置ループゲインKpを乗算し、速度指令を生成して減算器35へ出力する。本実施形態では、このゲイン乗算器38が位置制御用のフィードバック制御部分として機能し、いわゆる位置比例制御を行う。
【0032】
速度演算器37は、モータ・駆動機械4,5から検出された上記検出位置に基づいて検出速度(回転型モータ4の出力速度)を生成し、上記減算器35へ出力する。速度演算器37は、具体的には微分器(図中では「s」と略示)で構成される。
【0033】
減算器35は、上記ゲイン乗算器38から出力された速度指令から、上記速度演算器37から出力された検出速度を減算し、それらの間の速度偏差を出力する。積分器39は、その出力された速度偏差に対して速度ループ積分時定数Tに基づく積分演算を行い(図中では「1/T・s」と略示)、加算器36がこの積分器39の出力と上記減算器35からの速度偏差とを加算してゲイン乗算器40へ出力する。ゲイン乗算器40はこの加算出力に対し速度ループゲインKvを乗算することで上記トルク指令を生成して出力する。本実施形態では、これら積分器39およびゲイン乗算器40が速度制御用のフィードバック制御部分として機能し、いわゆる速度積分比例制御を行う。
【0034】
モータ・駆動機械4,5(上記
図2における産業機器4,5に相当)は、この
図3において、回転型モータ4の回転子と駆動機械5の可動部分とを連結させた可動機構全体の慣性モーメントJに基づく数理モデル(図中では「1/J・s」「1/s」と略示)で表される。
【0035】
以上のようにフィードバック制御部31とモータ・駆動機械4,5で構成する本実施形態のフィードバック制御系は、位置比例制御系のフィードバックループと、速度積分比例制御系のフィードバックループの2重ループ構成(いわゆるP−IP制御)となっている。
【0036】
<データ取得フェーズおよびその後の機械学習>
以上のフィードバック制御系において、前述の調整部学習用データセットが取得される際には、上記制御パラメータρに相当する上記位置ループゲインKp、上記速度ループ積分時定数T、および上記速度ループゲインKv(以下適宜、これらを「制御パラメータKp,T,Kv」と総称する)の各値が適宜に仮設定された状態で、所定の調整用シーケンス動作を実行した際の位置指令(指令情報rに相当)、トルク指令(制御情報uに相当)、検出位置(動作情報yに相当)がデータベースDBに記録される。
【0037】
すなわち、本実施形態では、これら位置指令、トルク指令、および検出位置(以下適宜、これらをまとめて「状態量データ」という)のそれぞれは、
図4(a)、
図4(c)、
図4(d)にそれぞれ示すように、当該調整用シーケンス動作を実行した際の同一時系列で瞬時値を逐次記録した時系列パターンデータとして記録される。これら
図4(a)、
図4(c)、
図4(d)に示す例では、位置指令を0から所定位置までいわゆる軌跡制御で増加させた位置決め動作でシーケンス動作を実行した場合の、各状態量の時系列パターンデータ(太実線の波形データ)を示している。なお、上記位置指令制御を行った場合に限られず、速度指令制御やトルク指令制御でシーケンス動作を実行してもよい。例えば、
図4(b)に示すような加速時・減速時の加速度が一定でかつ定常速度が一定値を保つ区間がある、台形状の時系列パターンで速度指令を入力し、シーケンス動作を実行させてもよい。または、そのような時系列パターンにおける加減速時と一定速度時の切り替わり部分の加速度の連続性が担保される多項式、三角関数、指数関数等で表現される速度指令などを入力し、シーケンス動作を実行させてもよい。
【0038】
このとき、多様な上記調整用シーケンス動作ごとに、各状態量データ(位置指令、トルク指令、および検出位置)の時系列パターンデータと当該調整用シーケンス動作時に仮設定した各制御パラメータKp,T,Kvとが対応付けられて、1つの調整部学習用データセットが作成され、データベースDBに保存される(=データ取得フェーズ。
図3中の破線矢印参照)。なお、このデータベースDBは、モータ制御装置3の内部に備える適宜の記憶装置で構成してもよいし、またはモータ制御装置3と情報送受可能に接続された外部の適宜の記憶装置で構成してもよい(上記
図1では図示省略)。このようにしてデータベースDBに十分な数の調整部学習用データセットが取得された後には、調整部32が、これら調整部学習用データセットを用いた機械学習を行う(=学習フェーズ。後述の
図5および
図6も参照)。
【0039】
<パラメータ設定フェーズ>
上記のようにして機械学習が行われた後、機械制御システム1の実動運用シーケンス動作が実行される際には、上記学習内容に基づき(学習内容を反映させた形で)、調整部32が、各制御パラメータKp,T,Kvの設定を行う(=パラメータ設定フェーズ。
図3中の点線矢印参照)。すなわち、各制御パラメータを仮設定した状態で、機械制御システム1の実動運用シーケンス動作を実行した際の各状態量データ(位置指令、トルク指令、および検出位置)の時系列パターンデータが調整部32に入力されることで、当該調整部32が、上記学習内容を反映した最適な制御パラメータKp,T,Kvをフィードバック制御部31に出力する。そして、これら出力された制御パラメータKp,T,Kvがフィードバック制御部31において本設定されることで、上記実働運用時での当該フィードバック制御系における良好な制御精度を確保することができる。
【0040】
<調整部32の機械学習手法の例>
調整部32において実行される上記機械学習では、公知の種々の学習手法を適用することができる。以下、一例として、機械学習アルゴリズムに深層学習(ディープラーニング)を適用した場合の例を説明する。
図5は、深層学習を適用した場合における調整部32のニューラルネットワークの概略モデル構成の一例を示している。
【0041】
この
図5において、調整部32のニューラルネットワークは、各部から入力された上記状態量データである、上記位置指令、上記トルク指令、および上記検出位置の各時系列パターンデータに対して、これら状態量データの間の対応関係(特に位置指令と検出位置の間の対応関係)から推定される、(例えばモータ・駆動機械4,5の機械定数に適切に対応した9制御パラメータKp,T,Kvを出力するよう設計されている。なお、
図5に示すニューラルネットワークの概略モデル構成例においては、上記の機械定数に相当する値や信号(例えば素性を表す値や信号)については図示を省略している。
【0042】
図5に示すように、時系列順に並ぶ調整部32の各入力ノードに対し、時系列パターンデータである各状態量データの(それぞれ同一の所定サンプリング周期でサンプリングした)瞬時値が入力される。そして、各出力ノードは、それぞれ回帰問題処理による多値出力(連続値)により制御パラメータKp,T,Kvを出力する。これらの制御パラメータKp,T,Kvの設定処理は、前述した学習フェーズにおける当該調整部32の機械学習プロセスでの学習内容に基づく。すなわちこの調整部32のニューラルネットワークでは、各状態量データの間の相関関係と適切な制御パラメータKp,T,Kvとの相関を表す特徴量が、学習されている。
【0043】
上記調整部32の機械学習プロセスでは、上述したように設計された多層ニューラルネットワークをモータ制御装置3においてソフトウェア的(又はハードウェア的)に実装した後、データベースDBに保存した多数の調整部学習用データセットを用いていわゆる教師あり学習によって学習することができる。
【0044】
この調整部学習用データセットは、例えば
図6に示すように、各種の上記調整用シーケンス動作を実行した際の各状態量データ(時系列パターンデータ)およびその応答性評価値と、その際に仮設定した制御パラメータKp,T,Kvとを対応付けたデータセットである。図示する例では、応答性評価値は、対応するデータセットの制御パラメータKp,T,Kvを適用した上記フィードバック制御系のシーケンス動作における、応答性についての評価を示す指標である。
【0045】
なお、上記応答性評価値は、例えば位置偏差や、オーバーシュートやアンダーシュート時の振動振幅、過渡期が終了するまでの整定時間、動作情報が指令に対して追従するまでの立ち上がり時間、トルク指令値のリップルの大きさ、トルク指令値と速度から推定できる消費電力値などのように、当該データセットの状態量データに基づいて総合的に求めてもよい。また、複数の正弦波を組み合わせたトルク指令を入力し、その応答から計算される位相余裕・ゲイン余裕・感度関数の値を指標としても良い。なお図中では、この評価値を「高」、「低」の2段階の指標で表しているが、3段階以上の指標で表してもよいし、また数値で表してもよい。
【0046】
そして、本実施形態では、上記状態量データを入力データとし制御パラメータを出力データとした組み合わせの教師データを用いて、(調整部32のニューラルネットワークの入力層と出力層の間の関係性が成立するよう、各ノードどうしをつなぐ各エッジの重み係数を調整する)いわゆるバックプロパゲーション処理等により学習を行うことができる。このバックプロパゲーション処理では、多数のデータセットのうち特に応答性評価値の高いデータセットのみを抽出し、これだけを教師データに用いて各エッジの重み係数を強めるよう調整してもよい。または、全てのデータセットを教師データとし、それぞれの応答性評価値に応じて各エッジの重み係数を強めたり弱めたりするよう調整してもよい。なお、このようなバックプロパゲーションに限られず、いわゆるオートエンコーダ、制限付きボルツマンマシン、ドロップアウト、ノイズ付加、およびスパース正則化などの公知の多様な学習手法を併用して処理精度を向上させてもよい。
【0047】
なお、以上のようなオフライン学習(バッチ学習)でのデータ学習処理による機械学習プロセスは、当該機械制御システム1の稼働開始前に行ってもよいし、回転型モータ4や駆動機械5の経年劣化状況や使用環境の変化に応じた制御精度の向上を目的として稼働開始後の必要時に行ってもよい。また、データ学習をオンライン学習で行うことにより、特に当該機械制御システム1の稼働中における経年劣化状況や使用環境状況の変化にも逐次対応して常時適切な制御パラメータの設定が可能となる。なお、モータ・駆動機械4,5のシーケンス動作における制御精度に影響を与え得る環境データ(駆動機械5の周囲温度や姿勢など)などを別途のセンサで検出し調整部学習用データセットに含めて調整部32が学習するようにしてもよい。
【0048】
また、上述したようにモータ制御装置3の調整部32が(上記データフェースで得たデータセットを用いて)上記学習フェーズにおいて自ら機械学習を実行するのにも限られない。すなわち、上記回転型モータ4と同様の産業機器である、他の産業機器を用いて上記同様に実行された機械学習での学習内容(上記の手法で言えば、各エッジの重み係数の組み合わせ等)を調整部32が取得し、これを用いて上記パラメータ設定フェーズにおいて制御パラメータKp,T,Kvの設定を行うようにしてもよい。
【0049】
また上述したように、調整部32で実行する機械学習のアルゴリズムは、図示した深層学習によるものに限られず、例えばサポートベクトルマシンやベイジアンネットワーク等を利用した他の機械学習アルゴリズム(特に図示せず)を適用してもよい。その場合でも、入力した状態量データに適切に対応する制御パラメータを出力するという基本的な構成については同等となる。
【0050】
<評価装置6>
次に、上記評価装置6による上記制御パラメータの評価について、詳細に説明する。
【0051】
<制御パラメータの評価が特に有効となる背景>
例えば、以上説明したような機械学習に基づく制御パラメータの設定を調整部32が行った場合でも、実際の運用時にはフィードバック制御系における制御精度が最良とは限らない。
【0052】
例えば、上記
図4(d)に対応する
図7に示すように、位置指令(図中の点線部参照)を0から所定位置までいわゆる軌跡制御で増加させた場合でも、実際のモータ・駆動機械4,5における上記検出位置(図中の太実線部参照)の変化の挙動が(上記位置指令に正確には追従せず)相違する場合がある。このときの制御性に関する評価の指標としては、図示するように、例えば、オーバーシュート量、整定時間、および最大位置偏差を用いることができる。上記オーバーシュート量は、位置指令の変動が止まった位置決め後における上記検出位置(モータ・駆動機械4,5の動作位置)の振動の振幅量に相当する。上記整定時間は、上記位置決め後から上記検出位置の振動が収束(位置決めした位置指令を基準としたコイン幅領域内に収束)するまでの経過時間に相当する。上記最大位置偏差は、上記位置指令と上記検出位置の間の最大偏差に相当する。また上記
図4(c)に対応する
図8に示すように、本来では一定速度領域におけるトルク指令が一定値に安定すべきところ、振動のリップルが生じる場合がある。このときの制御性に関する指標は、当該トルク指令の振動の振幅となる。
【0053】
上記の他、特に図示しないが、モータ・駆動機械4,5の動作情報における加速度、トルク、騒音、又は消費電力などの評価指標もある。制御パラメータの設定が適正でない場合にはこれらの評価指標のうちいずれかが、制御パラメータの設定が適性である場合とは異なる値(=異常値)を示す場合がある。
【0054】
<評価装置の機能的構成〜その1>
以上のような背景に基づき、本実施形態では、調整部32による現在の制御内容(この例では具体的には現在設定されている制御パラメータ)が本当に適性であるかどうかを評価して検証を行うために、上記評価装置6が設けられる。
図9は、この評価装置6の機能的構成を表すブロック図である。この
図9において、評価装置6は、異常情報取得部61と、事前情報取得部65と、情報取得部70と、消耗度情報取得部68と、評価基準生成部71と、評価部62と、判定部63と、パラメータ特定部64と、出力部67と、を機能的に備えている。
【0055】
評価装置6には、後述する機械学習を行う学習フェーズと、その学習フェーズの実行後に当該学習フェーズでの学習結果に基づいて上述の現在の制御パラメータの評価を行う運用フェーズと、が存在する(言い換えれば学習フェーズは運用フェーズよりも前に実行される)。上述の異常情報取得部61、事前情報取得部65、および評価基準生成部71は、主として上記学習フェーズにおいて機能する。上記評価部62は、上記学習フェーズ及び上記運用フェーズの両方において機能する。
【0056】
すなわち、事前情報取得部65は、上記学習フェーズにおいて、モータ・駆動機械4,5に対する制御に関する情報である事前制御情報(この例では上記トルク指令。以下同様)をモータ制御装置3から取得するとともに、モータ・駆動機械4,5の動作に関する情報である事前動作情報(この例では上記回転型モータ4での上記検出位置。以下同様)を上記エンコーダ41aから取得する。なお、事前情報取得部65が上記事前制御情報および事前動作情報のうちいずれか一方のみを取得しても良い。その場合、これ以降に記述する各処理を当該いずれか一方の情報により行うこともできる。
【0057】
異常情報取得部61は、上記学習フェーズにおける評価基準生成部71の機械学習実行時(後述)において使用される上記評価基準生成部学習用データセットの教師データとして使用される、制御異常情報および動作異常情報(それらのうちのいずれか一方でもよい)を取得する。制御異常情報および動作異常情報は、上記評価基準生成部学習用データセットに含まれる上記状態量データに付随する情報であり、例えば操作者の適宜の操作入力に基づき評価装置6に入力される。制御異常情報はモータ・駆動機械4,5に対する制御が異常であることを示し、動作異常情報はモータ・駆動機械4,5の動作が異常であることを示す(後述の
図11も参照)。これら制御異常情報および動作異常情報は、評価部62および評価基準生成部71へと出力される。
【0058】
評価基準生成部71は、上記事前情報取得部65が取得した上記事前制御情報および上記事前動作情報、ならびに、上記異常情報取得部61が取得した上記制御異常情報および上記動作異常情報に基づき、上記運用フェーズにおいて評価部62が評価を行う(詳細は後述)ときに用いる評価基準を生成する。特に、評価基準生成部71は、上記評価基準を、予め定められた複数の評価項目ごとに項目別評価基準として生成する項目別評価基準生成部71Aを備えている。すなわち、項目別評価基準生成部71Aは、上記事前情報取得部65が取得した上記事前制御情報および上記事前動作情報(それらのうちいずれか1つでもよい)に基づき、当該事前制御情報(トルク指令)および上記事前動作情報(検出位置)のうち少なくとも1つに対する上記項目別評価基準を生成する。この項目別評価基準は、上記複数の評価項目(例えば、上述したオーバーシュート量、整定時間、最大位置偏差、トルク指令の振幅、加速度、トルク、騒音、および消費電力など)ごとに生成される。なお、評価基準生成部71は、運用フェーズにおいて情報取得部70が取得する制御情報および動作情報(詳細は後述)にも対応して、上記評価基準を生成するようにしてもよい。
【0059】
上記項目別評価基準の生成は、上記運用フェーズに先立つ上記学習フェーズにおいて、上記評価基準生成部71(詳細には項目別評価基準生成部71A)による機械学習によって行われる。
【0060】
<評価基準生成部71の機械学習手法の例>
評価基準生成部71において実行される上記機械学習では、公知の種々の機械学習手法を適用することができる。以下、一例として、前述の調整部32での機械学習と同様、機械学習アルゴリズムに深層学習(ディープラーニング)を適用した場合の例を説明する。
図10は、深層学習を適用した場合における評価基準生成部71のニューラルネットワークの概略モデル構成の一例を示している。
【0061】
この
図10において、評価基準生成部71のニューラルネットワークは、各部から入力された上記状態量データであるトルク指令(事前制御情報に相当)、および上記検出位置(事前動作情報に相当)の各時系列パターンデータに対して、これら状態量データの間の対応関係から推定される、上記複数の評価項目に係わる値(前述のオーバーシュート量、整定時間、最大位置偏差、トルク指令の振幅、加速度、トルク、騒音、消費電力など。以下適宜、「評価項目値」という)、上記制御異常情報及び上記動作異常情報(不図示)、を出力するよう設計されている。このとき、上記評価項目値は、各項目ごとに、「値が大きな群」「値が小さな群」の2つにクラスタリングされて出力されるよう、予め設計されている(2つに限られず、項目値の値に応じて3つ以上の群にクラスタリングされてもよい)。したがって、図示の例では、出力側が「オーバーシュート量大」「オーバーシュート量小」「整定時間大」「整定時間小」「最大位置偏差大」「最大位置偏差小」「トルク指令の振幅大」「トルク指令の振幅小」、「加速度大」「加速度小」「トルク大」「トルク小」「騒音大」「騒音小」「消費電力大」「消費電力小」等(一部不図示)にクラスタリングされるよう、設計されている。そして、このようにクラスタリングされるときの各項目別のクラスタリングの境界条件が、各項目別の評価基準となる(評価基準の生成)。
【0062】
すなわち、例えば上記のように「オーバーシュート量大」「オーバーシュート量小」の2群にクラスタリングされた場合には、オーバーシュート量がLs[mm]以上である場合に「オーバーシュート量大」側へ出力され、オーバーシュート量がLs[mm]未満である場合に「オーバーシュート量小」側へ出力されたとすると、この場合のオーバーシュート量の評価基準としては、「(しきい値としての)オーバーシュート量Ls[mm]未満」が「良」評価、「(しきい値としての)オーバーシュート量Ls[mm]以上」が「否」評価、となり、当該しきい値が良否判断の評価基準となる。こうして上記クラスタリングにより、「オーバーシュート」に関する評価基準が生成される。なお、前述のように3つ以上の群にクラスタリングされる場合は、各群のしきい値それぞれが評価基準となり、それぞれ例えば「優」評価、「良」評価、「可」評価、「不良」評価、「劣」評価、・・等となる(以下、他の評価項目についても同様)。
【0063】
また例えば上記のように「整定時間大」「整定時間小」の2群にクラスタリングされた場合には、整定時間がTs[s]以上である場合に「整定時間大」側へ出力され、整定時間がTs[s]未満である場合に「整定時間小」側へ出力されたとすると、この場合の整定時間の評価基準としては、「(しきい値としての)整定時間Ts[s]未満」が「良」評価、「(しきい値としての)整定時間Ts[s]以上」が「否」評価、となり、当該しきい値が良否判断の評価基準とる。こうして上記クラスタリングにより、「整定時間」に関する評価基準が生成される。
【0064】
また例えば上記のように「最大位置偏差大」「最大位置偏差小」の2群にクラスタリングされた場合には、最大位置偏差がLd[mm]以上である場合に「最大位置偏差大」側へ出力され、最大位置偏差がLd[mm]未満である場合に「最大位置偏差小」側へ出力されたとすると、この場合の最大位置偏差の評価基準としては、「(しきい値としての)最大位置偏差Ld[mm]未満」が「良」評価、「(しきい値としての)最大位置偏差Ld[mm]以上」が「否」評価、となり、当該しきい値が良否判断の評価基準とる。こうして上記クラスタリングにより、「最大位置偏差」に関する評価基準が生成される。
【0065】
また例えば上記のように「トルク指令振幅大」「トルク指令振幅小」の2群にクラスタリングされた場合には、トルク指令振幅がIt以上である場合に「トルク指令振幅大」側へ出力され、トルク指令振幅がIt未満である場合に「トルク指令振幅小」側へ出力されたとすると、この場合のトルク指令振幅の評価基準としては、「(しきい値としての)トルク指令振幅It未満」が「良」評価、「(しきい値としての)トルク指令振幅It以上」が「否」評価、となり、当該しきい値が良否判断の評価基準とる。こうして上記クラスタリングにより、「トルク指令振幅」に関する評価基準が生成される。
【0066】
また例えば上記のように「加速度大」「加速度小」の2群にクラスタリングされた場合には、加速度がAm[m/s
2]以上である場合に「加速度大」側へ出力され、加速度がAm[m/s
2]未満である場合に「加速度小」側へ出力されたとすると、この場合の加速度の評価基準としては、「(しきい値としての)加速度Am[m/s
2]以上」が「良」評価、「(しきい値としての)加速度Am[m/s
2]未満」が「否」評価、となり、当該しきい値が良否判断の評価基準とる。こうして上記クラスタリングにより、「加速度」に関する評価基準が生成される。
【0067】
また例えば上記のように「トルク大」「トルク小」の2群にクラスタリングされた場合には、トルクがTr[N・m]以上である場合に「トルク大」側へ出力され、トルクがTr[N・m]未満である場合に「トルク小」側へ出力されたとすると、この場合のトルクの評価基準としては、「(しきい値としての)トルクTr[N・m]以上」が「良」評価、「(しきい値としての)トルクTr[N・m]未満」が「否」評価、となり、当該しきい値が良否判断の評価基準とる。こうして上記クラスタリングにより、「トルク」に関する評価基準が生成される。
【0068】
また例えば上記のように「騒音大」「騒音小」の2群にクラスタリングされた場合には、騒音がNs[dB]以上である場合に「騒音大」側へ出力され、騒音がNs[dB]未満である場合に「騒音小」側へ出力されたとすると、この場合の騒音の評価基準としては、「(しきい値としての)騒音Ns[dB]未満」が「良」評価、「(しきい値としての)騒音Ns[dB]以上」が「否」評価、となり、当該しきい値が良否判断の評価基準とる。こうして上記クラスタリングにより、「騒音」に関する評価基準が生成される。
【0069】
また例えば上記のように「消費電力大」「消費電力小」の2群にクラスタリングされた場合には、消費電力がPe[W]以上である場合に「消費電力大」側へ出力され、消費電力がPe[W]未満である場合に「消費電力小」側へ出力されたとすると、この場合の消費電力の評価基準としては、「(しきい値としての)消費電力Pe[W]未満」が「良」評価、「(しきい値としての)消費電力Pe[W]以上」が「否」評価、となり、当該しきい値が良否判断の評価基準とる。こうして上記クラスタリングにより、「消費電力」に関する評価基準が生成される。
【0070】
なお、図示を省略しているが、上記制御異常情報としての「制御パラメータ正常」および「制御パラメータ異常」の情報も、いずれか一方のみが真値となるよう2値出力される。
【0071】
以上のように、この評価基準生成部71のニューラルネットワークでは、各状態量データの間の相関関係と各評価項目値、制御異常情報、動作異常情報との相関を表す特徴量が学習されている。
【0072】
この評価基準生成部71の機械学習プロセスでは、上述したように設計された多層ニューラルネットワークを評価装置6においてソフトウェア的(又はハードウェア的)に実装した後、多数の評価基準生成部学習用データセットを用いていわゆる教師あり学習によって学習することができる。
【0073】
この評価基準生成部学習用データセットは、例えば
図11に示すように、各種の評価用シーケンス動作(上記調整部学習用データセットに係わる調整用シーケンス動作と同じ動作でもよいし、別の動作でもよい)を実行した際の各状態量データ(時系列パターンデータ)と、上記評価項目値を予め定められた評価基準(上記クラスタリングにより学習されるものと同等の分け方となるように予め設定されたもの)に照らし合わせた指標と、制御異常情報及び動作異常情報とが対応付けられたデータセットである。
【0074】
そして、本実施形態における評価基準生成部71の上記学習フェーズでは、上記状態量データを入力データとし、上記評価項目値、制御異常情報、動作異常情報を出力データとした組み合わせの教師データを用いて、(評価基準生成部71のニューラルネットワークの入力層と出力層の間の関係性が成立するよう、各ノードどうしをつなぐ各エッジの重み係数を調整する)いわゆるバックプロパゲーション処理等により学習を行うことができる。なお、このようなバックプロパゲーションに限られず、いわゆるオートエンコーダ、制限付きボルツマンマシン、ドロップアウト、ノイズ付加、およびスパース正則化などの公知の多様な学習手法を併用して処理精度を向上させてもよい。
【0075】
また、以上のようなオフライン学習(バッチ学習)でのデータ学習処理による機械学習プロセスは、当該機械制御システム1の稼働開始前に行ってもよいし、回転型モータ4や駆動機械5の経年劣化状況や使用環境の変化に応じた制御精度の向上を目的として稼働開始後の必要時に行ってもよい。また、データ学習をオンライン学習で行うことにより、特に当該機械制御システム1の稼働中における経年劣化状況や使用環境状況の変化にも逐次対応して常時適切な制御パラメータの設定が可能となる。なお、モータ・駆動機械4,5の評価用シーケンス動作における制御精度に影響を与え得る環境データ(駆動機械5の周囲温度や姿勢など)などを別途のセンサで検出し評価基準生成部学習用データセットに含めて評価基準生成部71が学習するようにしてもよい。
【0076】
また、上述したように評価装置6の評価基準生成部71が上記学習フェーズにおいて自ら機械学習を実行するのにも限られない。すなわち、上記回転型モータ4と同様の産業機器である、他の産業機器を用いて上記同様に実行された機械学習での学習内容(上記の手法で言えば、各エッジの重み係数の組み合わせ等)を評価基準生成部71が取得し、これを用いて評価基準生成部71が上記各項目別評価基準の生成を行うようにしてもよい。
【0077】
また上述したように、上記学習フェーズにおける評価基準生成部71の機械学習アルゴリズムは、図示した深層学習によるもの以外にも、例えばサポートベクトルマシンやベイジアンネットワーク等を利用した他の機械学習アルゴリズム(特に図示せず)を適用してもよい。その場合でも、入力した状態量データに適切に対応する上記評価項目値、制御異常情報、動作異常情報を出力するという基本的な構成については同等となる。
【0078】
<学習プロセスの手順>
上記評価基準生成部71における機械学習プロセスの具体的な手順について、
図12を用いて説明する。
図12は、評価装置6のCPU901(後述の
図16参照)が上記学習フェーズにおいて機械学習プロセスを実行する場合の処理手順を表すフローチャートである。
【0079】
図12において、このフローは、例えば上位制御装置2から機械学習プロセスを実行するよう指令入力されることで開始される。
【0080】
まずステップS10で、CPU901は、予め用意された多種の評価用シーケンス動作から1つを選択する。
【0081】
その後、ステップS15へ移り、CPU901は、上記ステップS10で選択した評価用シーケンスの位置指令を(例えば上記調整部32を介し)上記フィードバック制御部31に入力し、対応するシーケンス動作をモータ・駆動機械4,5に実行させる。
【0082】
そして、ステップS20へ移り、CPU901は、上記事前情報取得部65により、上記ステップS15で開始された評価用シーケンス動作の実行中における、上記位置指令、上記トルク指令、上記検出位置の各状態量データを取得し、記録する。
【0083】
その後、ステップS25へ移り、CPU901は、上記評価基準生成部71により、上記ステップS15で開始された評価用シーケンス動作に対応する、各評価項目ごとの上記の評価基準に照らし合わした場合の指標「大」又は「小」(学習前のもの)を取得し、記録する。
【0084】
その後、ステップS27に移り、CPU901は、上記異常情報取得部61により、上記ステップS15で開始された評価用シーケンス動作に対応する、上記制御異常情報および上記動作異常情報を取得し、「正常」か「異常」かを記録する。
【0085】
そして、ステップS30へ移り、CPU901は、上記ステップS20で記録した各状態量データと、上記ステップS25で決定した各評価項目ごとの上記評価基準に対する上記指標と、上記ステップS27で記録した制御異常情報・動作異常情報とで、1つの評価基準生成部学習用データセットを作成する。
【0086】
このステップS30の詳細手順を
図13に示す。
【0087】
図13において、CPU901は、まずステップS310で、ステップS20で記録していた各状態量データのうち、上記トルク指令を取得する。
【0088】
その後、ステップS320で、CPU901は、ステップS20で記録していた各状態量データのうち、上記検出位置を取得する。
【0089】
そして、ステップS330に移り、CPU901は、ステップS25で記録されていた各評価基準に対する指標のうち、上記オーバーシュート量に関する指標、すなわち「オーバーシュート量大」若しくは「オーバーシュート量小」を取得する。
【0090】
その後、ステップS340に移り、CPU901は、ステップS25で記録されていた各評価基準に対する指標のうち、上記整定時間に関する指標、すなわち「整定時間大」若しくは「整定時間小」を取得する。
【0091】
そして、ステップS350に移り、CPU901は、ステップS25で記録されていた各評価基準に対する指標のうち、上記トルク指令振幅に関する指標、すなわち「トルク指令振幅大」若しくは「トルク指令振幅小」を取得する。
【0092】
その後、ステップS360に移り、CPU901は、ステップS25で記録されていた各評価基準に対する指標のうち、上記最大位置偏差に関する指標、すなわち「最大位置偏差大」若しくは「最大位置偏差小」を取得する。
【0093】
その後、ステップS370に移り、CPU901は、ステップS27で記録されていた制御異常情報及び動作異常情報それぞれの指標、すなわち「正常」若しくは「異常」を取得する。
【0094】
そして、ステップS380において、CPU901は、上記ステップS310〜ステップS370で取得された全ての情報(データ)を、一括して1つのファイルとする(
図11参照)。その後、上記
図12のステップS35へ移る。
【0095】
図12に戻り、ステップS35では、CPU901は、予め用意された全ての評価用シーケンス動作についてデータセットが作成完了したか否かを判定する。まだデータセットが作成されていない評価用シーケンス動作が残っている場合、判定は満たされず、上記ステップS10に戻り同様の手順を繰り返す。
【0096】
一方、予め用意された全ての評価用シーケンス動作についてデータセットが作成されていた場合、ステップS35の判定が満たされ、ステップS45へ移る。
【0097】
ステップS45では、CPU901は、上記ステップS30で作成した評価基準生成部学習用データセットを用いて、前述した手法による機械学習を実行する。そして、このフローを終了する。
【0098】
なお、上記
図12及び
図13においては、上記評価項目として、前述のオーバーシュート量、整定時間、トルク指令振幅、最大位置偏差の4つが用いられた場合を例にとって説明したが、これに限られない。操作者の用途や必要性等に応じて、これら4つのうちの一部のみを用いても良いし、さらに別の項目を含めて5つ以上の評価項目を用いても良い。
【0099】
なお、以上のようなオフライン学習(バッチ学習)でのデータ学習処理による機械学習プロセスは、当該機械制御システム1の稼働開始前に行ってもよいし、または回転型モータ4や駆動機械5の経年劣化状況や使用環境の変化に応じた制御精度の向上を目的として稼働開始後の必要時に行ってもよい。また、リアルタイムで入力した制御情報、動作情報等を用いたオンライン学習を行うことにより、特に当該機械制御システム1の稼働中における経年劣化状況や使用環境状況の変化にも逐次対応して常時適切な制御パラメータの評価が可能となる。また、上述したように評価装置6の評価基準生成部71自体で機械学習プロセスを実行する以外にも、外部での機械学習プロセスで得た学習内容(この場合の各エッジの重み係数の組み合わせ)を取得して利用してもよい。
【0100】
<評価装置の機能的構成〜その2>
図9に戻り、評価装置6の上述の情報取得部70、消耗度情報取得部68、判定部63、パラメータ特定部64、および出力部67は、主として、学習フェーズでの学習結果に基づいて現在の制御パラメータの評価を行う上記運用フェーズにおいて機能する。
【0101】
すなわち、情報取得部70は、モータ・駆動機械4,5に対する現在の制御に関する情報である制御情報(この例では上記トルク指令。以下同様)をモータ制御装置3から取得するとともに、モータ・駆動機械4,5の現在の動作に関する情報である動作情報(この例では上記回転型モータ4での上記検出位置。以下同様)を上記エンコーダ41aから取得する。
【0102】
消耗度情報取得部68は、モータ・駆動機械4,5における部品(例えば図示しないアクチュエータやギア等の可動部分)の消耗度に係わる消耗度情報を入力する。なお、上記消耗度情報として、モータ制御装置3における電力変換部(特に図示しないインバータや増幅器等)の消耗度を含めても良い。
【0103】
<評価部による評価(評価値決定)>
上記のようにして生成された項目別評価基準は評価部62に入力される。評価部62は、上記運用フェーズにおいて、上記情報取得部70が取得した制御情報および動作情報と上記入力された項目別評価基準に基づき、各評価項目ごとに、上記モータ・駆動機械4,5に対する制御およびモータ・駆動機械4,5の動作のうち少なくとも1つの評価値を決定し、これによって現在(運用フェーズを実行しているその時点で)で設定されている制御パラメータの評価を行う(=対応する評価情報を生成する)。
【0104】
このときの評価部62による評価値決定処理の手法の一例を、
図14のフローチャートにより説明する。
【0105】
図14において、まずステップS105において、CPU901は、評価値のベースとなる初期得点を所定値(例えばこの例では50点)とする。
【0106】
その後、ステップS110において、CPU901は、上記情報取得部70により取得された上記制御情報又は動作情報に基づき、当該取得された情報に対応するオーバーシュート量が、上記評価基準生成部71から取得された項目別評価基準でのオーバーシュート量の値(前述したしきい値としてのオーバーシュート量Ls[mm])よりも小さいか否かを判定する。当該しきい値以上であれば判定が満たされず(S110:No)、ステップS115で得点を5点減点して、後述のステップS125に移る。当該しきい値未満であれば判定が満たされ(S110:Yes)、ステップS120で得点を5点アップして、ステップS125に移る。
【0107】
ステップS125では、CPU901は、上記情報取得部70により取得された上記制御情報又は動作情報に基づき、当該取得された情報に対応する整定時間が、上記評価基準生成部71から取得された項目別評価基準での整定時間の値(前述したしきい値としての整定時間Ts[s])よりも小さいか否かを判定する。当該しきい値以上であれば判定が満たされず(S125:No)、ステップS130で得点を5点減点して、後述のステップS140に移る。当該しきい値未満であれば判定が満たされ(S125:Yes)、ステップS135で得点を5点アップして、ステップS140に移る。
【0108】
ステップS140では、CPU901は、上記情報取得部70により取得された上記制御情報又は動作情報に基づき、当該取得された情報に対応するトルク指令振幅が、上記評価基準生成部71から取得された項目別評価基準でのトルク指令振幅の値(前述したしきい値としてのトルク指令振幅It)よりも小さいか否かを判定する。当該しきい値以上であれば判定が満たされず(S140:No)、ステップS145で得点を5点減点して、後述のステップS155に移る。当該しきい値未満であれば判定が満たされ(S140:Yes)、ステップS150で得点を5点アップして、ステップS155に移る。
【0109】
ステップS155では、CPU901は、上記情報取得部70により取得された上記制御情報又は動作情報に基づき、当該取得された情報に対応する最大位置偏差が、上記評価基準生成部71から取得された項目別評価基準での最大位置偏差の値(前述したしきい値としての最大位置偏差Ld[mm])よりも小さいか否かを判定する。当該しきい値以上であれば判定が満たされず(S155:No)、ステップS160で得点を5点減点して、後述のステップS170に移る。当該しきい値未満であれば判定が満たされ(S155:Yes)、ステップS165で得点を5点アップして、ステップS170に移る。
【0110】
ステップS170では、CPU901は、上記情報取得部70により取得された上記制御情報又は動作情報に基づき、当該取得された情報に対応する消費電力が、上記評価基準生成部71から取得された項目別評価基準での消費電力の値(前述したしきい値としての消費電力Pe[W])よりも小さいか否かを判定する。当該しきい値以上であれば判定が満たされず(S170:No)、ステップS175で得点を5点減点して、後述のステップS190に移る。当該しきい値未満であれば判定が満たされ(S170:Yes)、ステップS180で得点を5点アップして、ステップS190に移る。
【0111】
ステップS90では、CPU901は、上記ステップS105で設定した初期得点(上記の例では50点)に対し、上記ステップS115又はステップS120、ステップS130又はステップS135、ステップS145又はステップS150、ステップS160又はステップS165、ステップS175又はステップS180での減点又は得点アップを反映させる形で、合計点を算出し、これを最終的な評価値とする。そして、このフローを終了する。
【0112】
なお、上記
図14においては、上記項目別評価基準として、前述のオーバーシュート量、整定時間、トルク指令振幅、最大位置偏差、消費電力の5つが用いられる場合を例にとって説明したが、これに限られない。操作者の用途や必要性等に応じて、これら5つのうちの一部のみを用いても良いし、さらに別の項目を含めて6つ以上の項目別評価基準を用いても良い。
【0113】
あるいは、上記の手法以外に、例えば、評価部62は、
図15に示すように、(上記各評価項目ごとに互いに異なる重み付けW
i,jが予め与えられている前提で)前述のようにして決定した複数の評価項目それぞれの評価値に重み付けを乗じたものの合計を算出し、これを最終的な評価値として上記制御パラメータの評価を行ってもよい。さらには、上記各評価項目ごとに評価値を決定し、その評価値をそれぞれ変数とする公知の多変量解析によって最終的な評価値を決定し、上記制御パラメータの評価を行う。なお、評価部62は、上記消耗度情報取得部68により取得された上記消耗度情報をも参酌して上記評価を行っても良い。
【0114】
判定部63は、上記評価部62により上記のようにして行われた評価値の決定(言い換えれば各制御パラメータの評価)に基づいて、その時点で設定されている各制御パラメータの調整が必要かどうかを判定し、その判定結果を判定情報として生成する。
【0115】
パラメータ特定部64は、上記判定部63が生成した判定情報に基づき、制御パラメータの調整が必要と判定されていた場合には、当該調整が必要となる制御パラメータの種類を特定し、その特定結果を種類情報として生成する。すなわち、この種類情報は、各制御パラメータごとに調整の必要の有無を示す情報となる。
【0116】
なお、評価部62は、特に詳細には、異常有無推定部62Aと、前兆推定部62Bと、異常種別推定部62Cと、を有する。
【0117】
異常有無推定部62Aは、上記評価基準生成部71により生成された上記評価基準に基づいて、上記モータ・駆動機械4,5に対する制御の異常およびモータ・駆動機械4,5の異常のうちのすくなくとも1つの有無を推定し、対応する異常有無推定情報を出力する。具体的には、例えば、上記評価基準に基づいて(言い換えれば事前情報取得部65により取得された上記制御異常情報や動作異常情報に基づいて)、上述の学習フェーズにおける機械学習の結果に応じて、上記制御異常・動作異常とみなす範囲を抽出したり制御異常・動作異常のパターンを抽出し、その抽出した範囲やパターンに基づいて、モータ・駆動機械4,5自体の異常(いわゆるメカ異常)あるいはモータ・駆動機械4,5に対する制御の異常の有無を推定する。
【0118】
前兆推定部62Bは、上記評価基準生成部71により生成された上記評価基準に基づいて、予め想定された上記モータ・駆動機械4,5の異常の前兆および予め想定された上記モータ・駆動機械4,5に対する制御の異常の前兆のうち、少なくとも1つの前兆の推定を行う。上記モータ・駆動機械4,5の異常の前兆の例としては、機械振動の前兆となる上記トルク指令の発振等がある。例えばこの前兆推定部62Bでは、上記評価基準に基づいて(言い換えれば事前情報取得部65により取得された上記制御異常情報や動作異常情報に基づいて)、上記トルク指令の発振が生じているか否かを推定する。
【0119】
異常種別推定部62Cは、上記評価基準生成部71により生成された上記評価基準に基づいて、上記モータ・駆動機械4,5の異常および上記モータ・駆動機械4,5に対する制御の異常のうち、少なくとも1つの異常の種別を推定する。この異常の種別の例としては、例えば既に述べたようなオーバーシュート、制定時間超過、機械振動、消費電力過多、加速度センサの計測値の振幅が過多、トルクセンサの計測値の振動、集音装置の計測値の周波数異常(あるいはdB過多)、トルク指令の振動等がある。例えばこの異常種別推定部62Cでは、上記評価基準に基づいて(言い換えれば事前情報取得部65により取得された上記制御異常情報や動作異常情報に基づいて)、上記異常の種別が上記オーバーシュート等のいずれであるかを推定する。
【0120】
出力部67は、判定情報出力部67Aと、種類情報出力部67Bと、異常有無推定情報出力部67Cと、前兆推定情報出力部67Dと、異常種別推定情報出力部67Eと、を備えている。
【0121】
判定情報出力部67Aは、上記判定部63からの上記判定情報を、評価装置6の外部(詳細には例えば上記調整部32)へと出力する。
【0122】
種類情報出力部67Bは、上記パラメータ特定部64からの上記種類情報を、評価装置6の外部(詳細には例えば上記調整部32)へと出力する。
【0123】
異常有無推定情報出力部67Cは、上記異常有無推定部62Aからの上記異常有無推定情報を、評価装置6の外部(詳細には例えば上記調整部32)へと出力する。
【0124】
前兆推定情報出力部67Dは、上記前兆推定部62Bからの上記前兆推定情報を、評価装置6の外部(詳細には例えば上記調整部32)へと出力する。
【0125】
異常種別推定情報出力部67Eは、上記異常種別推定部62Cからの上記異常種別推定情報を、評価装置6の外部(詳細には例えば上記調整部32)へと出力する。その際、例えば前述のメカ異常や発振等であった場合については、非常に深刻な異常であるとの評価を付加してもよいし、上記オーバーシュートや整定時間超過(あるいはさらにそれらのうち許容範囲のものに限定しても良い)については、上記深刻な異常と比べると比較的軽微な異常であるとの評価を付加してもよい。
【0126】
なお、上記各出力部67A〜67Eから出力される、上記判定情報、上記種類情報、上記異常有無推定情報、上記前兆推定情報、および前記異常種別推定情報が、前述の評価情報を構成している。
【0127】
そして、上記調整部32は、上記パラメータ設定フェーズにおいて、上記各出力部67A〜67Eから出力された上記評価情報を取得し、これに応じて、上記制御パラメータKp,T,Kvをさらに最適化し、フィードバック制御部31に出力する。これにより、例えば上記判定情報において調整が必要とされた(上記種類情報で特定された)制御パラメータを、最適な値に更新された状態でフィードバック制御部31に出力することができる。また、例えば上記異常有無推定情報において制御異常又は動作異常と推定された場合(上記前兆推定情報において上記異常の前兆があると推定された場合でもよい)には、上記異常種別推定情報で特定された種別の異常が解消されるように(異常が生じないように)、制御パラメータを、最適な値に更新された状態でフィードバック制御部31に出力することができる。なお、このようにモータ制御装置3の調整部32において制御パラメータの再調整に役立てる以外に、例えば上位制御装置2が備える表示部(図示省略)に出力して操作者に報知してもよいし、前述のメカ異常の場合には上位制御装置2を介してモータ・駆動機械4,5の駆動を停止させることもできる。
【0128】
なお、上述した評価装置6における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部(例えば1つの処理部)で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、評価装置6は、後述するCPU901(
図16参照)が実行するプログラムによりソフトウェア的に実装されてもよいし、その一部又は全部がASICやFPGA、その他の電気回路等(ニューロモーフィックチップ等)の実際の装置によりハードウェア的に実装されてもよい。
【0129】
<本実施形態による効果>
以上説明したように、本実施形態の機械制御システム1は、評価基準生成部71が生成した評価基準を用いて、評価装置6により、モータ・駆動機械4,5に対する制御情報およびモータ・駆動機械4,5の動作情報のうちの少なくとも1つの評価が行われる。これにより、上記従来技術と異なり、評価基準が定められていない場合であってもモータ・駆動機械4,5に対する現在の制御内容が適正であるのか否かを検証し、制御の適正化を図ることができる。この結果、制御内容が適正でない場合には、評価情報に基づき操作者に対し警告を発したり、あるいは、評価情報に基づき制御パラメータKp,T,Kvを再調整したりモータ・駆動機械4,5を停止する、等の適宜の対応をとることができる。
【0130】
また、本実施形態では特に、評価基準生成部71が、制御異常情報および動作異常情報のうちの少なくとも1つを用いてラベリングを行いつつ機械学習を行い、評価基準を生成する。これにより、より精度の高い精密な評価を行うことができる。また、想定可能な典型的な異常状態以外に潜在的に存在する異常状態を導き出すことも可能となる。
【0131】
また、本実施形態では特に、評価基準生成部71が生成した評価基準に基づき、異常有無推定部62Aにより、モータ・駆動機械4,5に対する制御の異常およびモータ・駆動機械4,5の異常のうちの少なくとも1つの有無が判断され、異常有無推定情報出力部67Cにより、その判断に関する異常有無推定情報が出力される。これにより、モータ・駆動機械4,5に対する制御に何か異常が生じていた場合やモータ・駆動機械4,5自体に何か異常が生じていた場合に、その旨を確実に推定し、対応する異常有無推定情報を出力することができる。
【0132】
また、本実施形態では特に、評価基準生成部71からの評価基準に基づいて、前兆推定部62Bが、モータ・駆動機械4,5の異常の前兆およびモータ・駆動機械4,5に対する制御の異常の前兆のうちの少なくとも1つの前兆の推定を行う。これにより、評価部62は、モータ・駆動機械4,5の異常やモータ・駆動機械4,5に対する制御の異常のみならず、それらの前兆に対しても有効に評価を行い、現在の制御内容が正しいかどうかを検証することができる。
【0133】
また、本実施形態では特に、上記評価基準に基づき、異常種別推定部62Cにより、モータ・駆動機械4,5の異常およびモータ・駆動機械4,5に対する制御の異常のうち少なくとも1つの異常の種別が推定され、その異常の種別の推定に関する異常種別推定情報が異常種別推定情報出力部67Eにより出力される。これにより、生じている異常は、モータ・駆動機械4,5に対する制御の異常であるのか、モータ・駆動機械4,5自体の異常(いわゆるメカ異常)であるのか、を明確に切り分けて示した態様で出力することができる。
【0134】
また、本実施形態では特に、消耗度情報取得部68により、モータ・駆動機械4,5に備えられた部品の消耗度に係わる消耗度情報が取得され、評価部62は、上記制御情報および動作情報のうちの少なくとも1つと上記評価基準と上記消耗度情報とに応じて、制御パラメータKp,T,Kvの評価を行う。これにより、モータ・駆動機械4,5が長期にわたって継続的に運転される場合でも、その消耗度を含む経年劣化を加味して、さらに高い精度で評価を行うことができ、それだけ高い精度で制御の適正化を図ることができる。
【0135】
また、本実施形態では特に、調整部32は、機械学習での学習内容に基づいてモータ・駆動機械4,5に対する制御に用いる制御パラメータを調整し、評価部62は、モータ・駆動機械4,5に対する制御およびモータ・駆動機械4,5の動作のうちの少なくとも1つの評価に基づいて、制御パラメータKp,T,Kvの評価を行う。評価部が制御パラメータの評価を行うことにより、機械学習の手法で制御パラメータの調整を行う調整部における当該機械学習の内容が正しいのか否かを(間接的に)評価することができる。すなわち、制御パラメータに関する調整部での学習内容を無条件に適用し続けるのではなく、その学習内容が適正であるのか否かを検証することができる。
【0136】
また、本実施形態では特に、評価部62での制御パラメータKp,T,Kvの評価に基づいて、当該制御パラメータKp,T,Kvの調整が必要かどうかの判定が判定部63により行われ、その判定に関する判定情報が判定情報出力部67Aにより出力される。これにより、現在の制御内容(言い換えれば調整部32での機械学習での学習内容)が適正でなく制御パラメータKp,T,Kvのさらなる調整が必要であると判定された場合に、判定情報出力部67Aから当該判定に関する判定情報が出力されるので、この判定情報に基づいて調整部32が制御パラメータKp,T,Kvの調整を行うことができる。なお、この判定情報に基づいて、操作者が適宜の手動操作により制御パラメータKp,T,Kvの調整をすることもできる。
【0137】
また、本実施形態では特に、判定部63で制御パラメータKp,T,Kvの調整が必要と判定された場合に、パラメータ特定部64により、調整が必要となる制御パラメータKp,T,Kvの種類が特定され、種類情報出力部67Bにより、調整が必要となる制御パラメータKp,T,Kvの種類に関する種類情報が出力される。これにより、制御パラメータKp,T,Kvの調整が必要と判定された場合に、その調整が必要となる制御パラメータKp,T,Kvを特定することで、制御パラメータKp,T,Kvの調整を容易に行うことができる。
【0138】
また、本実施形態では特に、項目別評価基準生成部71Aが、モータ・駆動機械4,5に対する制御およびモータ・駆動機械4,5の動作のうちの少なくとも1つの評価に用いる評価基準を複数の評価項目ごとに項目別評価基準として生成する。そして、評価部62は、上記項目別評価基準に基づき複数の評価項目ごとに評価値を決定し、その評価値をそれぞれ変数とする多変量解析により、モータ・駆動機械4,5に対する制御およびモータ・駆動機械4,5の動作のうちの少なくとも1つの評価を行うことができる。これにより、細分化された評価項目ごとに生成された項目別評価基準を用いて明確に評価値を決定でき、その客観的な指標値としての評価値を用いて評価を行うことで、確実かつ高精度な評価を行うことができる。この結果、例えばトルク指令やトルクセンサ検出値の振動発生のように深刻度の高い異常や、整定時間やオーバーシュート量の増大のように深刻度の低い異常が混在する場合であっても、そのような深刻度の違いを加味しつつ精度の高い評価値の決定を行うことができる。
【0139】
また、本実施形態では特に、項目別評価基準生成部71Aが、モータ・駆動機械4,5に対する制御およびモータ・駆動機械4,5の動作のうちの少なくとも1つの評価に用いる評価基準を複数の評価項目ごとに項目別評価基準として生成する。そして、評価部62は、上記項目別評価基準に基づき複数の評価項目ごとに評価値を決定し、当該評価値に前記重み付けを乗じたものの合計を算出することにより、制御情報および動作情報のうちの少なくとも1つに対する評価値を決定することもできる。この場合、例えば異常として深刻度の高いトルク指令やトルクセンサ検出値の振動発生については大きな重み付けW
i,jを与え、深刻度の低い整定時間やオーバーシュート量の増大については小さな重み付けW
i,jを与えることで、それら深刻度の違いを加味した精度の高い評価値の決定を確実に行うことができる。
【0140】
<評価装置のハードウェア構成例>
次に、
図16を参照しつつ、上記で説明したCPU901が実行するプログラムによりソフトウェア的に実装された異常情報取得部61、事前情報取得部65、情報取得部70、消耗度情報取得部68、評価基準生成部71、評価部62、判定部63、パラメータ特定部64、および出力部67等による処理を実現する、評価装置6のハードウェア構成例について説明する。
【0141】
図16に示すように、評価装置6は、例えば、CPU901と、ROM903と、RAM905と、ASIC又はFPGA等の特定の用途向けに構築された専用集積回路907と、入力装置913と、出力装置915と、記録装置917と、ドライブ919と、接続ポート921と、通信装置923とを有する。これらの構成は、バス909や入出力インターフェース911を介し相互に信号を伝達可能に接続されている。
【0142】
プログラムは、例えば、ROM903やRAM905、記録装置917等に記録しておくことができる。
【0143】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のCD・MOディスク・DVD等の光ディスク、半導体メモリ等のリムーバブルな記録媒体925に、一時的又は永続的に記録しておくこともできる。このような記録媒体925は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体925に記録されたプログラムは、ドライブ919により読み出されて、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0144】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等(図示せず)に記録しておくこともできる。この場合、プログラムは、LANやインターネット等のネットワークNWを介し転送され、通信装置923がこのプログラムを受信する。そして、通信装置923が受信したプログラムは、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0145】
また、プログラムは、例えば、適宜の外部接続機器927に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート921を介し転送され、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0146】
そして、CPU901が、上記記録装置917に記録されたプログラムに従い各種の処理を実行することにより、上記の異常情報取得部61、事前情報取得部65、情報取得部70、消耗度情報取得部68、評価基準生成部71、評価部62、判定部63、パラメータ特定部64、および出力部67等による処理が実現される。この際、CPU901は、例えば、上記記録装置917からプログラムを直接読み出して実行してもよいし、RAM905に一旦ロードした上で実行してもよい。更にCPU901は、例えば、プログラムを通信装置923やドライブ919、接続ポート921を介し受信する場合、受信したプログラムを記録装置917に記録せずに直接実行してもよい。
【0147】
また、CPU901は、必要に応じて、例えばマウス・キーボード・マイク(図示せず)等の入力装置913から入力する信号や情報に基づいて各種の処理を行ってもよい。
【0148】
そして、CPU901は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置915から出力してもよく、さらにCPU901は、必要に応じてこの処理結果を通信装置923や接続ポート921を介し送信してもよく、上記記録装置917や記録媒体925に記録させてもよい。
【0149】
<変形例>
また、以上は、上述したように機械制御システム1の評価装置6の評価基準生成部71が、上記運用フェーズの前の上記学習フェーズにおいて当該機械制御システム1に備えられたモータ・駆動機械4,5に係わる前述の事前制御情報(前述の例では上記トルク指令)、事前動作情報(上記の例では上記検出位置)、制御異常情報、動作異常情報に基づき機械学習を行った場合を例にとって説明したが、これに限られない。
【0150】
すなわち、上記運用フェーズの実行の前に、上記事前情報取得部65により、上記モータ・駆動機械4,5以外の他の産業機器(上記機械制御システム1外に設けられる)の制御に関する情報である他機器事前制御情報、および、当該他の産業機器の動作に関する情報である他機器事前動作情報、のうち少なくとも1つを取得し、さらに、上記異常情報取得部61により、上記他の産業機器に対する制御の異常を表す制御異常情報、および、当該他の産業機器の動作の異常を表す動作異常情報のうちの少なくとも1つを取得するようにしてもよい。このとき、異常情報取得部61は、上記評価基準生成部学習用データセットの教師データとして使用される、上記他の産業機器に係わる他機器制御異常情報および他の産業機器に係わる他機器動作異常情報(それらのうちのいずれか一方でもよい)を取得する。前述と同様、他機器制御異常情報および他機器動作異常情報は、この場合において上記評価基準生成部学習用データセットに含まれる他の産業機器に係わる上記状態量データに付随する情報であり、例えば操作者の適宜の操作入力に基づき評価装置6に入力される。他機器制御異常情報は上記他の産業機器に対する制御が異常であることを示し、他機器動作異常情報は上記他の作業機器の動作が異常であることを示す。この場合、これら他機器制御異常情報および他機器動作異常情報は、評価部62および評価基準生成部71へと出力される。
【0151】
そして、評価基準生成部71は、上記学習フェーズにおいて機械学習を行い、上記事前情報取得部65が取得した上記他機器事前制御情報および上記他機器事前動作情報、ならびに、上記異常情報取得部61が取得した上記他機器制御異常情報および上記他機器動作異常情報、のうち少なくとも一方に基づき、上記運用フェーズにおいて評価部62が評価を行うときに用いる評価基準を生成する。そして、評価部62は、運用フェーズにおいて、上記のようにして生成された評価基準に対応して、上記情報取得部70が取得した上記機械制御システム1のモータ・駆動機械4,5に係わる上記制御情報および上記動作情報に基づいて、その時点で設定されている制御パラメータの評価を行い、対応する評価情報を生成する。こうして生成された評価情報は、前述と同様、上記出力部67から調整部32へと出力される。
【0152】
この場合も、前述と同様の効果を得ることができる。すなわち、他の産業機器の制御情報および動作情報の少なくとも一方と、評価基準生成部71が生成した評価基準とを用いて、上記モータ・駆動機械4,5に対する制御およびモータ・駆動機械4,5の動作の少なくとも一方の評価が行われ、対応する評価情報が出力される。これにより、上記従来技術と異なり、評価基準が定められていない場合であっても、当該モータ・駆動機械4,5に対する現在の制御内容が適正であるのか否かを検証し、制御の適正化を図ることができる。この結果、制御内容が適正でない場合には、操作者に対し警告を発する、あるいは、制御装置により制御内容を再調整したり産業機器を停止する、等の適宜の対応をとることができる。
【0153】
また、上記の例では特に、上記他の産業機器に係わる他機器制御異常情報および他機器動作異常情報のうちの少なくとも1つを用いてラベリングを行って評価基準を生成することで、より精度の高い精密な評価を行うことができる。また、想定可能な典型的な異常状態以外に潜在的に存在する異常状態を導き出すことも可能となる。
【0154】
また、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【0155】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【0156】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。