(57)【特許請求の範囲】
【請求項１】
少なくともプロセッサとメモリとを有し、産業用機器の外部端子に直接かつ一時的に接続される拡張モジュールを前記産業用機器の外部端子に接続し、
前記拡張モジュールが、前記産業用機器から、機械学習モデルを特定するために必要な情報を収集し、前記メモリに記憶し、
前記拡張モジュールを前記産業用機器の外部端子から取り外し、
前記拡張モジュールをコンピュータに接続し、
前記拡張モジュールは、前記機械学習モデルを特定するために必要な情報に基づいて選択された機械学習モデルを受信し、
前記拡張モジュールは、前記選択された機械学習モデルを前記メモリに記憶し、
前記拡張モジュールを前記コンピュータから取り外し、
前記拡張モジュールを前記産業用機器の外部端子に接続し、
前記拡張モジュールの前記プロセッサは、前記産業用機器から取得した情報を教師データとして、前記機械学習モデルの学習を行い、前記産業用機器のパラメータ及び前記産業用機器により制御される機器の内部状態の少なくともいずれかを推定するための学習済みの機械学習モデルを得る、
機械学習方法。
【請求項２】
前記プロセッサは、学習済みの前記機械学習モデルを、前記産業用機器に送信し、
前記拡張モジュールを前記産業用機器の外部端子から取り外す、
請求項１に記載の機械学習方法。
【請求項３】
前記コンピュータは情報通信ネットワークを介してサーバに接続され、
前記拡張モジュールの前記プロセッサは、前記機械学習モデルを特定するために必要な情報を前記サーバに送信し、
前記サーバは、前記機械学習モデルを特定するために必要な情報に基づいて、自身が記憶する複数の機械学習モデルから一の機械学習モデルを選択する、
請求項１又は２に記載の機械学習方法。
【請求項４】
前記機械学習モデルは、あらかじめ中間学習がなされた中間学習モデルであり、
前記拡張モジュールの前記プロセッサは、前記中間学習モデルを用いた転移学習により、前記機械学習モデルの学習を行う、
請求項３に記載の機械学習方法。
【請求項５】
少なくともプロセッサとメモリとを有し、産業用機器の外部端子に直接かつ一時的に接続される拡張モジュールを前記産業用機器の外部端子に接続し、
前記拡張モジュールが、前記産業用機器から、機械学習モデルを特定するために必要な情報を収集し、前記メモリに記憶し、
前記拡張モジュールを前記産業用機器の外部端子から取り外し、
前記拡張モジュールをコンピュータに接続し、
前記拡張モジュールは、前記機械学習モデルを特定するために必要な情報に基づいて選択された機械学習モデルを受信し、
前記拡張モジュールは、前記選択された機械学習モデルを前記メモリに記憶し、
前記拡張モジュールを前記コンピュータから取り外し、
前記拡張モジュールを前記産業用機器の外部端子に接続し、
前記拡張モジュールの前記プロセッサは、前記産業用機器から取得した情報を教師データとして、前記機械学習モデルの学習を行い、前記産業用機器のパラメータ及び前記産業用機器により制御される機器の内部状態の少なくともいずれかを推定するための学習済みの機械学習モデルを得、
前記プロセッサは、前記学習済みの機械学習モデルを、前記産業用機器に送信し、
前記産業用機器は、前記学習済みの機械学習モデルを、産業用機器側メモリに記憶し、
前記拡張モジュールを前記産業用機器の外部端子から取り外し、
前記産業用機器は、自身の情報を入力データとして前記学習済みの学習モデルに入力し、前記産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定値を出力として得る、
産業用機器のパラメータ又は産業用機器により制御される機器の内部状態の推定方法。
【請求項６】
前記産業用機器は、一定期間の経過及び前記産業用機器の特定の状態の検出の少なくともいずれかの条件が満たされた場合に、前記産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定値を出力として得る、
請求項５に記載の産業用機器のパラメータ又は産業用機器により制御される機器の内部状態の推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法に関する。
【背景技術】
【０００２】
近年、ＡＩ（人工知能）の分野における技術が進展し、その利用分野や応用が大きく広がりを見せている。その中核となる技術がいわゆるディープラーニングであるが、このディープラーニングによるＡＩの構築や実行には、大規模な並列演算処理が要求されるため、使用するコンピュータには高い演算処理能力が必要である。
【０００３】
一方、組み込み機器などに使用されるシングルボードコンピュータ等の小型コンピュータは、その演算能力が高くなく、演算要求量の多いディープラーニングによるＡＩプログラムの実行には非力である場合がある。そのため、かかる機器にＡＩプログラムに適した演算能力を付加する外付けの機器が市販されている。例えば小型コンピュータのＵＳＢ（ユニバーサルシリアルバス）ポートに接続することで、外付けのＶＰＵ（ビジュアル処理ユニット）の利用が可能となる。
【０００４】
上述の外付けの機器は汎用品であり、拡張された演算能力を提供するものにすぎないため、その利用のためには、一般的なＡＩプログラミングの知識及び技能と、当該外付けの機器に対して提供されているＳＤＫ（ソフトウェア開発キット）の理解が必要であり、利用しようとする用途に応じて自らＡＩプログラミングを行う必要がある。
【０００５】
また、ＰＬＣ（プログラマブルロジックコントローラ）やサーボコントローラ等のＦＡ（ファクトリーオートメーション）機器などの産業用機器においては、その演算能力は、コストや消費電力などの兼ね合いにより決定されるため、当該産業用機器の稼働に必要な程度が確保されるにとどまり、一般に、あまり余力が大きいとは言い難い。
【０００６】
そのような、産業用機器の一つであるサーボ制御装置におけるフィードフォワード係数を機械学習により求める機械学習装置が、特許文献１に開示されている。同文献開示の装置においては、サーボ制御装置と機械学習装置が、工場内に構築されたＬＡＮ（ローカルエリアネットワーク）やインターネット、公衆電話網などの情報通信ネットワークで接続される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１８−１５２０１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
産業用機器の利用の態様に適したパラメータや、産業用機器により制御される機器の内部状態の推定にＡＩ技術を適用するにあたり、産業用機器単体では演算能力やメモリ容量が不足する。また、産業用機器は一般の情報通信ネットワークに接続されることは多くないため、情報通信ネットワーク経由で高度な演算能力を持つコンピュータとの通信が常にできるわけではない。
【０００９】
また、仮に産業用機器を適切な情報通信ネットワークに接続したとしても、産業用機器を常用するＦＡ分野の技術者は、必ずしもＡＩプログラミングの専門教育を受けているわけではなく、また、仮にそのような専門教育を受けた人材が確保できたとしても、産業用機器の利用の態様は、利用の場面に応じて異なるから、その都度プログラミングを行うのは非現実的でもある。
【００１０】
本発明は、かかる事情に基づいてなされたものであり、その目的は、ディープラーニングなどの演算負荷が高く、使用メモリ量の大きい機械学習を、産業用機器本体のコストを上昇させることなく、学習が必要な場合のみ利用可能とすることである。
【課題を解決するための手段】
【００１１】
本発明の一側面に係る機械学習方法は、少なくともプロセッサとメモリとを有し、産業用機器の外部端子に直接かつ一時的に接続される拡張モジュールを前記産業用機器の外部端子に接続し、前記拡張モジュールが、前記産業用機器から、機械学習モデルを特定するために必要な情報を収集し、前記メモリに記憶し、前記拡張モジュールを前記産業用機器の外部端子から取り外し、前記拡張モジュールをコンピュータに接続し、前記拡張モジュールは、前記機械学習モデルを特定するために必要な情報に基づいて選択された機械学習モデルを受信し、前記拡張モジュールは、前記選択された機械学習モデルを前記メモリに記憶し、前記拡張モジュールを前記コンピュータから取り外し、前記拡張モジュールを前記産業用機器の外部端子に接続し、前記拡張モジュールの前記プロセッサは、前記産業用機器から取得した情報を教師データとして、前記機械学習モデルの学習を行い、前記産業用機器のパラメータ及び前記産業用機器により制御される機器の内部状態の少なくともいずれかを推定するための学習済みの機械学習モデルを得る。
【００１２】
また、本発明の一側面に係る機械学習方法では、さらに、前記プロセッサは、学習済みの前記機械学習モデルを、前記産業用機器に送信し、前記拡張モジュールを前記産業用機器の外部端子から取り外してよい。
【００１８】
また、本発明の一側面に係る機械学習方法では、さらに、前記コンピュータは情報通信ネットワークを介してサーバに接続され、前記拡張モジュールの前記プロセッサは、前記機械学習モデルを特定するために必要な情報を前記サーバに送信し、前記サーバは、前記機械学習モデルを特定するために必要な情報に基づいて、自身が記憶する複数の機械学習モデルから一の機械学習モデルを選択してよい。
【００１９】
また、本発明の一側面に係る機械学習方法では、さらに、前記機械学習モデルは、あらかじめ中間学習がなされた中間学習モデルであり、前記拡張モジュールの前記プロセッサは、前記中間学習モデルを用いた転移学習により、前記機械学習モデルの学習を行ってよい。
【００２０】
また、本発明の一側面に係る産業用機器のパラメータ又は産業用機器により制御される機器の内部状態の推定方法は、少なくともプロセッサとメモリとを有し、産業用機器の外部端子に直接かつ一時的に接続される拡張モジュールを前記産業用機器の外部端子に接続し、前記拡張モジュールが、前記産業用機器から、機械学習モデルを特定するために必要な情報を収集し、前記メモリに記憶し、前記拡張モジュールを前記産業用機器の外部端子から取り外し、前記拡張モジュールをコンピュータに接続し、前記拡張モジュールは、前記機械学習モデルを特定するために必要な情報に基づいて選択された機械学習モデルを受信し、前記拡張モジュールは、前記選択された機械学習モデルを前記メモリに記憶し、前記拡張モジュールを前記コンピュータから取り外し、前記拡張モジュールを前記産業用機器の外部端子に接続し、前記拡張モジュールの前記プロセッサは、前記産業用機器から取得した情報を教師データとして、前記機械学習モデルの学習を行い、前記産業用機器のパラメータ及び前記産業用機器により制御される機器の内部状態の少なくともいずれかを推定するための学習済みの機械学習モデルを得、前記プロセッサは、前記学習済みの機械学習モデルを、前記産業用機器に送信し、前記産業用機器は、前記学習済みの機械学習モデルを、産業用機器側メモリに記憶し、前記拡張モジュールを前記産業用機器の外部端子から取り外し、前記産業用機器は、自身の情報を入力データとして学習済みの前記学習モデルに入力し、前記産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定値を出力として得てよい。
【００２１】
また、本発明の一側面に係る産業用機器のパラメータ又は産業用機器により制御される機器の内部状態の推定方法は、さらに、前記産業用機器は、一定期間の経過及び前記産業用機器の特定の状態の検出の少なくともいずれかの条件が満たされた場合に、前記産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定値を出力として得てよい。
【図面の簡単な説明】
【００２５】
【図１】産業用機器と、産業用機器に接続された拡張モジュール及び、産業用機器により制御される制御対象機器の概観斜視図である。
【図２】産業用機器と拡張モジュール及び制御対象機器のハードウェア構成を示す概略ブロック図である。
【図３】産業用機器と拡張モジュールが接続されている状態において、各機器の機能に着目して内部構成を示した機能ブロック図である。
【図４】学習済み機械学習モデルを備えた状態での産業用機器の内部構成を示す機能ブロック図である。
【図５】機械学習を行い、産業用機器のパラメータを推定し、あるいは制御対象機器の内部状態を推定するまでの手順を示すフロー図である。
【図６】本発明の第２の実施形態に係る産業用機器と拡張モジュールを説明する機能ブロック図である。
【図７】本発明の第３の実施形態に係る産業用機器と拡張モジュールを説明する機能ブロック図である。
【図８】本発明の第３の実施形態において、機械学習モデルに対する学習を行う手順を示すフロー図である。
【図９】本発明の第３の実施形態において、学習済み機械学習モデルを用いたパラメータや機器の内部状態を推定する手順を示すフロー図である。
【図１０】本発明の第４の実施形態において、多数の機械学習モデルなモデルを自動で選択し取得する手順を示すフロー図である。
【発明を実施するための形態】
【００２６】
以下、本発明の第１の実施形態に係る産業用機器１と拡張モジュール２、及びそれらを用いた産業用機器１の内部状態又は産業用機器１により制御される制御対象機器３の内部状態の推定方法を図１〜５を参照して説明する。
【００２７】
図1は、産業用機器1と、産業用機器1に接続された拡張モジュール２及び、産業用機器１により制御される制御対象機器３の概観斜視図である。ここで、本明細書で示す実施形態において、産業用機器１は、サーボコントローラとして示されており、以降では、産業用機器１として、サーボコントローラを例示して説明する。なお、本明細書において、「産業用機器」とは、ＦＡに用い得る機器であって、何らかの他の機器（制御対象機器３）を制御し、あるいは他の機器と情報の入出力を行う機能を有する機器を指しており、サーボコントローラの他にも、ＰＬＣやシングルボードマイコン等であってよい。なお、産業用機器1は、その現実の用途がＦＡに限定されるわけではなく、生産設備はもちろん、車両やアミューズメント機器など、各種の装置に組み込まれ利用されてよい。
【００２８】
また、制御対象機器３は、産業用機器１により制御され、あるいはその機器の状態を示す情報を入出力する機器である。ここでは、制御対象機器３としてはサーボモータが示されており、以降では、制御対象機器３として、サーボモータを例示して説明する。なお、制御対象機器３としては、その他の形式の回転電動機（例えば、ステッピングモータ等）や各種のアクチュエータ、スイッチやセンサ等であってもよい。また、産業用機器３に接続される制御対象機器３は１つである必要はなく、複数の制御対象機器３が接続されていてよい。
【００２９】
産業用機器１には、適宜の外部機器と接続するための外部端子１０１が設けられている。図１では、外部端子１０１は、産業用機器１の前面に設けられているが、その他の面、例えば背面に設けられても、あるいは複数の外部端子１０１が用意されていてもよい。外部端子１０１は、産業用機器１と適宜の外部機器との間で情報の入出力を行うための接続端子であり、その規格はどのようなものであってもよい。本実施形態では、外部端子１０１は、ＵＳＢ端子であるが、これ以外の適宜の規格に即した端子であっても、また、独自の規格による端子であってもよい。
【００３０】
拡張モジュール２は、図１に示したように、小型であり、かつ、外部端子１０１に直接接続され保持されるものであってよい。また、拡張モジュール２の電力は、外部端子１０１を介して、接続される産業用機器１から供給されてよい。このようにすると、拡張モジュール２を産業用機器１に接続する際に、余計なケーブルの取り回しや、電源コードなどを別途用意する必要がなく、簡便な取り回しができるためである。但し、拡張モジュール２のサイズや形状には技術的な制約はなく、図１に示したスティック状の形状に限られず、例えば箱形状の筐体であってもよい。また、ケーブルを利用して産業用機器１の外部端子１０１に接続されたり、拡張モジュール２自体に別途電源から電力を供給するようにしたりしても差し支えない。例えば、産業用機器１が装置の内部に組み込まれており、オペレータが直接外部端子１０１にアクセスすることが困難な場合が考えられ、そのような場合には、外部端子１０１に適宜の延長ケーブルを接続しておいて、かかる延長ケーブルに拡張モジュール２を接続するようにすると便利である。また、後述するように、拡張モジュール２は情報処理能力が高く、その演算時には大きな電力を要するため、産業用機器１の外部端子１０１から供給される電力では不足することが予想される場合には、別途、拡張モジュール２に電力を供給できるようにしておくとよい。
【００３１】
いずれにしても、拡張モジュール２は必要な場合に産業用機器１の外部端子１０１に直接接続されるものであり、ＴＣＰ／ＩＰなどの汎用の情報通信ネットワークを経由した仮想的な接続によって産業用機器１と接続されるものではない。これは、産業用機器１はその性質上、何らかの装置に組み込まれ、セキュリティその他の要請により、外部の汎用の情報通信ネットワークから遮断されて使用されることが実用上多いためである。
【００３２】
ここで、拡張モジュール２は、それ自体が独立した情報処理機器（いわゆるコンピュータ）であり、少なくとも、プロセッサとメモリをその内部に有している。本実施形態で示したサーボコントローラである産業用機器１もまた、サーボアンプとそれを制御するプロセッサとメモリを備えた情報処理機器としての機能を有しているが、先に述べたように、産業用機器１に用意される情報処理機器としての性能は、そもそも産業用機器１の目的とする機能を充足するに十分なものとして設計される。すなわち、本実施形態で示すように、産業用機器１がサーボコントローラであれば、その情報処理能力は、サーボモータである処理対象機器３の制御に十分なものであれば足り、また、産業用機器１がＰＬＣであれば、その情報処理能力は、数マイクロ秒単位での論理演算と入出力に十分なものであれば足るものとされ、それを大幅に超える、例えば大規模並列演算に適したような演算能力は用意されないのが通常である。拡張モジュール２は、そのような大規模並列演算等の負荷の高い演算に適したプロセッサを備えており、通常の運転時にはそのような演算を必要としない産業用機器１に対し、一時的に、すなわち、拡張モジュール２が外部端子１０１に接続されている場合に限って、産業用機器１に高負荷に耐えうる演算能力を付与するものである。拡張モジュール２に搭載されるプロセッサは、一般的な（但し、処理能力に優れた）ＣＰＵ（セントラルプロセッシングユニット）であっても、ＧＰＵ（グラフィックスプロセッシングユニット）やＶＰＵ、ＡＳＩＣ（特定用途向け集積回路）などの任意の情報処理回路あるいはこれら複数種類の組み合わせであってもよい。
【００３３】
この後述べるように、拡張モジュール２が行う演算は、いわゆるディープラーニング等の多層ニューラルネットワークモデルにおける機械学習を主眼としている。そのため、拡張モジュール２の設計は、適用としようとする機械学習モデルにおける演算に適したものとされ、通常は、大規模並列演算を高速に処理できるよう、多数のパイプラインを並列に配列したものとされるが、用いようとする機械学習モデルの機械学習に適したものであればどのようなものであっても差し支えない。
【００３４】
図２は、産業用機器1と拡張モジュール2及び制御対象機器３のハードウェア構成を示す概略ブロック図である。産業用機器１は、サーボアンプ１０２と制御回路１０３を含み、外部機器からの指令を受けて、インバータ１０６を制御し、ＡＣ／ＤＣ変換器１０５により変換された直流を制御対象機器３の駆動に適した３相交流に変換し出力する。外部機器からの指令と、制御対象機器3の状態を検出するセンサ３０１からの出力は制御回路１３に入力され、メモリ１０７に記憶された各種の情報に基づいて、プロセッサ１０４がインバータ１０６に対してする制御指令を決定する。
【００３５】
ここで、センサ３０１は制御対象機器３に関する情報を検出する手段全般を総称しており、本例のように、制御対象機器３がサーボモータである場合に、ロータリエンコーダ等の回転角センサ、トルクセンサ、モータ電流手段、温度計といった各種の検出器を含んでいてよい。
【００３６】
また、メモリ１０７には、制御対象機器３を制御する際に用いる各種パラメータ、例えば、ゲインパラメータや、モータの速度波形を規定する速度・加速度等の定数や時定数、制御対象機器３のモデル定数などが記憶されるほか、その他有用な情報、例えば、制御対象機器３の運転時間や総回転数などの駆動総量、モデルの形式番号やシリアル番号、ユーザに関する情報などが記憶されてよく、これら情報は、制御対象機器３の種類と制御内容に応じて、適宜プロセッサ１４により参照され使用される。さらに、後述するように、メモリ１０７には、制御対象機器３に関する学習済み機械学習モデルが記憶されてよい。
【００３７】
また、産業用機器１には外部機器とのインタフェースとして、Ｉ／Ｏ１０８が設けられており、図１に示した外部端子１１はこのＩ／Ｏ１０８の一部分を構成している。Ｉ／Ｏ１０８には、情報通信用の制御回路と物理的な端子が１又は複数含まれ、外部端子１０１は、それら物理的な端子の１つである。
【００３８】
拡張モジュール２は、メモリ２０１とプロセッサ２０２を含んでおり、プロセッサ２０２が単独でメモリ２０１を参照して演算を行うことが可能である。また、拡張モジュール２には、インタフェースとしてＩ／Ｏ２０３が設けられており、このＩ／Ｏ２０３には、情報通信用の制御回路と、産業用機器１の外部端子１０１と接続するための物理的な端子が含まれる。図２では、産業用機器１のＩ／Ｏ１０８と拡張モジュール２のＩ／Ｏ２０３を介して両者が情報通信可能に接続されている状態を示している。そして、拡張モジュール２は、制御対象機器３について収集されたセンサ３０１からの情報を、産業用機器１を通じ、Ｉ／Ｏ２０３から適宜受け取ることができる。
【００３９】
図３は、産業用機器１と拡張モジュール２が接続されている状態において、各機器の機能に着目して内部構成を示した機能ブロック図である。
【００４０】
産業用機器１には、モータコントロール部１０９と、サーボアンプ１０２、また場合によっては、学習済み機械学習モデル１１０が含まれる。モータコントロール部１０９は、ハードウェアとしては、図２に示した制御回路１０３を主として構成されており、かかるハードウェアに加え、主としてメモリ１０７に記憶される制御ソフトウェアと、制御対象機器３の制御に必要なモータパラメータ１１１を含んでいる。また、学習済み機械学習モデル１１０は、図２に示したメモリ１０７に記憶されるが、産業用機器１の使用開始当初においては、学習済み機械学習モデル１１０は用意されておらず、後述するように、拡張モジュール２を用いて機械学習を実行することにより、後から学習済み機械学習モデル１１０が構築され、産業用機器１のメモリ１０７に記憶される。図３では、当初においては用意されておらず、後から獲得される部分と、その獲得に際して行われる情報の流れを示す矢印を破線で示して明示している。
【００４１】
拡張モジュール２には、機械学習モデル２０４が含まれている。そして、機械学習モデル２０４には、センサ３０１からの出力が入力できるように構成されている。
【００４２】
図１〜３に示した構成において、最終的に産業用機器１により制御対象機器３が定常的に制御されるにいたるまでの流れを説明する。
【００４３】
モータコントローラのみに限らず、各種の産業用機器１を用いて制御対象機器３を効率よく、正確かつ高速に制御するためには、制御対象機器３の使用の態様に適したパラメータを与えなければならない。これまで、そのようなパラメータの推定方法や、自動設定する手法については多くの提案があり技術開発がなされているが、しかしながら、制御対象機器３の構成や負荷、動作などは個別の用途に応じてすべて異なっており、一律の設定方法によっては満足のいくパラメータが得られない場合も存在する。また、制御対象機器３の使用環境も時々刻々と変化する場合がある。例えば、ロボットアームによる作業内容が作業ごとに異なるものとなったり、外部環境を走行する車両において、路面の状態が異なったり、積載重量が変化したりすると最適なパラメータは当然に変化し、そのような変化の度にパラメータの再設定を行うことも困難である。
【００４４】
あるいは、制御対象機器３の物理的な変化など、重要な内部状態は直接測定することが難しい。例えば、摩耗や経年劣化といった状態を知ることはむつかしく、一定運転時間ごとの部品を交換するなどのメンテナンスを行わざるを得ないが、これは本来まだ寿命があり交換の必要がない部品を廃棄することとなり、メンテナンスコストを増大させるほか、メンテナンス時間を要求するため、機器の稼働時間を減少させる。制御対象機器３に設けたセンサ出力からその内部状態を推定することは、条件によっては不可能とは言えないが、多くの場合熟練オペレータの経験と勘が必要であり、広く利用できるものではなく、また、信頼性の点でも満足できるものではない。
【００４５】
このような、制御対象機器３に設けたセンサ出力からの産業用機器１の好適なパラメータや、制御対象機器３の内部状態の間接的な推定は、機械学習の得意とするところであると予測され、その利用が可能となればメリットは大きいと考えられる。
【００４６】
そこで本実施形態において、このような用途に対し、ディープラーニングに代表される機械学習を利用するにあたっては、まず、産業用機器１に制御対象機器３が接続された状態で動作させて、センサ３０１から得られる情報を教師データとして機械学習モデル２０４に対する学習を行う。特定用途に応じて準備された制御対象機器３の実働データに基づいて機械学習モデル２０４の学習を進めることで、個別の用途に応じた精度の高い学習済み機械学習モデル１１０が得られる。
【００４７】
この時、機械学習モデル２０４についての教師データとなる制御対象機器３の実働データをセンサ３０１から得るにあたり、制御対象機器３を動作させる制御自体は産業用機器１が実行するが、得られたセンサ３０１からのデータは、拡張モジュール２に送られる。拡張モジュール２は、自身に搭載されたプロセッサ２０２を使用して、メモリ２０１にあらかじめ用意された機械学習モデル２０４に対する機械学習を行う。
【００４８】
ここで、機械学習モデル２０４がどのようなものであるかは制御対象機器３の構成や用途に応じて選択されるべきものであり、特に限定はされない。代表的なものとして、多層構造、例えば６〜１０層程度のパーセプトロン層をもついわゆるディープニューラルネットワークモデルを想定すると、パーセプトロンのノード数や各ノードのビット数にも依存するものの、その機械学習に要する演算は、一般に演算負荷が大きく、産業用機器１のプロセッサではその演算能力が不足する。すなわち、制御対象機器３を作動させ、センサ３０１から得られるテータに基づいて、次々と機械学習をさせることができず、十分なデータが得られたとしても、学習の完了までに多大な時間を要することとなり、あるいは、機械学習に必要なデータを保持しておく大きなメモリ容量が一時的に必要となってしまう。そのため、かかる機械学習における演算は、より演算能力の高い拡張モジュール２に搭載されたプロセッサ２０２を用いて行う。プロセッサ２０２の演算能力は、次々と取得されるセンサ３０１からのデータをリアルタイム又は、データの取得速度から大きく遅れることなく機械学習モデル２０４に対する学習を行うことができる程度かそれ以上のものとするとよい。
【００４９】
また、機械学習モデル２０４は、産業用機器１により使用することが想定される制御対象機器３の構成に応じてあらかじめ用意し、拡張モジュール２のメモリ２０１に保持しておく。この機械学習モデル２０４は、機械学習を行おうとするオペレータが、制御対象機器３の構成や用途に応じて適宜用意してもよいし、あらかじめ複数種類の機械学習モデル２０４を拡張モジュール２のメモリ２０１に記憶しておき、最も適した機械学習モデル２０４を単に選択するようにしてもよい。
【００５０】
オペレータが機械学習モデル２０４を用意するには、一例として、インターネットなどを介して提供される複数の機械学習モデルから、使用しようとする制御対象機器３の構成や用途に最も近いものをあらかじめＰＣ等の情報処理機器にダウンロードしておき、拡張モジュール２をかかる情報処理機器に接続して、メモリ２０１にダウンロード済みの機械学習モデル２０４を転送するなどすると、オペレータが自ら機械学習モデル２０４を構築する必要がなく、ＡＩ技術に習熟しておらずとも、機械学習が利用可能である。
【００５１】
また、拡張モジュール２のメモリ２０１にあらかじめ複数の機械学習モデル２０４が記憶されている場合、オペレータがその内の一つを指定するようにしてもよい。あるいは、拡張モジュール２又は産業用機器１が、産業用機器１に接続された制御対象機器３の形式番号やシリアル番号など、制御対象機器３の構成を示す情報に基づいて、自動的に機械学習モデル２０４を選択するようにしてもよい。このようにすると、オペレータに十分なＡＩ技術の知識がなくとも、制御対象機器３の構成や用途に適した機械学習モデル２０４が自動で選択される。
【００５２】
さらに、機械学習を行う際に、選択される機械学習モデル２０４は１つに限らず、複数であってもよい。この場合、拡張モジュール２では、選択された複数の機械学習モデル２０４に対して同時に機械学習を並行して行い、最終的に得られた機械学習モデル２０４の内、最も成績（例えば、予測精度等）の良いものを選択して使用するようにしてもよい。この場合、拡張モジュール２のプロセッサ２０２の演算能力を、同時に複数の機械学習モデル２０４に対する機械学習を行える程度に十分に高いものとする必要はあるものの、精度の高い学習済み機械学習モデルが得られる可能性が高まる。
【００５３】
機械学習を行い、産業用機器１のパラメータを推定し、あるいは制御対象機器３の内部状態を推定するまでの手順を図５に示したフロー図に従い説明すると、次の通りとなる。すなわち、産業用機器１に制御対象機器３が接続され、いまだに学習済み機械学習モデルが得られていない場合には、まず、産業用機器１の外部端子１０１に拡張モジュール２を接続する（ＳＴ１）。続いて、機械学習に必要なデータを得るための制御対象機器３の駆動を行って、センサ３０１より制御対象機器３についての情報を取得する（ＳＴ２）。そして、得られた情報を教師データとして、拡張モジュール２のプロセッサ２０２を使用して、メモリ２０１に記憶された機械学習モデルの機械学習を行なう（ＳＴ３）。
【００５４】
機械学習が十分に進むと、拡張モジュール２のメモリ２０１内には、学習済み機械学習モデル１１０が得られることになる。学習済み機械学習モデル１１０は、産業用機器１のメモリ１０７に転送され記憶される（ＳＴ４）。このようにすると、産業用機器１は、自らのプロセッサ１０４に頼ることなく、特定の制御対象機器３について学習がなされた学習済み機械学習モデル１１０を備えることになる。
【００５５】
学習済み機械学習モデル１１０は、センサ３０１から得られる情報を入力とし、何らかの所望の情報を出力するものである。したがって、センサ３０１から得られる制御対象機器３についての情報を適宜学習済み機械学習モデル１１０に入力することにより、所望の出力を得る（ＳＴ５）。出力される情報は、産業用機器１で使用されるべき１又は複数のパラメータであってよく、また、１又は複数の制御対象機器３の内部状態の推定値であってよく、さらにその両方であってもよい。
【００５６】
より具体的に例示すると、サーボモータである制御対象機器３の速度・トルク・電流等の動作波形を入力として、制御に適したゲインパラメータを出力し、あるいは摩耗や経年劣化の兆候を初期段階で推定し、点検や部品交換をオペレータに促す警告信号を出力したり、故障の発生までの余寿命を推定したりする学習済み機械学習モデル１１０を構築することができる。
【００５７】
そして、この学習済み機械学習モデル１１０は、本実施形態では、産業用機器１のメモリ１０７に記憶されているため、学習済み機械学習モデル１１０を用いた、産業用機器のパラメータ又は産業用機器により制御される機器の内部状態の推定は、拡張モジュール２を必要としない。そのため、産業用機器１を定常的に使用する際には、拡張モジュール２を常時接続しておく必要はなく、取り外しておいて差し支えない。
【００５８】
図４は、学習済み機械学習モデル１１０を備えた状態での産業用機器１の内部構成を示す機能ブロック図である。産業用機器１が学習済み機械学習モデル１１０を獲得している状態であれば、同図に示すように、拡張モジュール２が接続されていなくとも、学習済み機械学習モデル１１０を用いて必要に応じて好適なパラメータを推定し、あるいは制御対象機器３の内部状態を推定することができる。
【００５９】
ここで、学習済み機械学習モデル１１０も、代表的には、多層のパーセプトロン層を持つディープニューラルネットワークモデルであり、入力値に対する出力をするためには相当量の演算が必要となる。しかしながら、機械学習を行うのに比すと、必要な演算量は少なく、また、学習済み機械学習モデル１１０を用いて得るべき推定値には、リアルタイム性や緊急性は必要でない場合が多いため、通常の制御対象機器３の制御の合間等、プロセッサ１０４の余剰の演算能力を用いた演算で十分な実用性が確保できると考えられる。
【００６０】
このように、定常運転時には拡張モジュール２は必ずしも必要でないため、例えば多数の産業用機器１を運用する場合においても、機械学習を行おうとする産業用機器１にのみ拡張モジュール２を一時的に接続すればよく、拡張モジュール２を使いまわすことができるため経済的である。
【００６１】
先に述べたように、本実施形態においては、学習済み機械学習モデル１１０により、制御に適したゲインパラメータを出力し、あるいは摩耗や経年劣化の兆候を初期段階で推定し、点検や部品交換をオペレータに促す警告信号を出力したり、故障の発生までの余寿命を推定しようとするものであるが、機械学習のための教師データを得る目的で制御対象機器３を動作させる際には、発生頻度の低い事象に対する学習効果を得ることはむつかしく、また、学習の効率も必ずしも良いとは言えない。
【００６２】
そこで、拡張モジュール２のメモリ２０１に記憶しておく機械学習モデル２０４は、産業用機器１とその制御対象機器３の構成に応じて、あらかじめある程度の学習を済ませてある、中間学習モデルとすると良い。これはいわゆる転移学習と呼ばれる機械学習手法を利用するものであり、想定される制御対象機器３の構成に近い代表的な構成を用いて、あらかじめ中間程度の学習及び、発生頻度の低い事象に対する学習を済ませた学習モデルを機械学習モデル２０４として用いることを指している。このような中間学習済みの機械学習モデル２０４を用いることにより、学習の効率が高く、早期に機械学習モデル２０４の精度を高めることができるとともに、過学習による過剰適合の問題を緩和しつつ、産業用機器１とその制御対象機器３から得られる教師データに含まれる可能性の低い発生頻度の低い事象に対しても正しい推定を行うことのできる学習済み機械学習モデル１１０が得られる。
【００６３】
ここで、発生頻度の低い事象とは、例えば、長時間の制御対象機器３の運転に伴い生じる摩耗や経年劣化等の故障及びその予兆や、異物の噛み込みや破損などの偶発的事象などが考えられる。特に、新品の産業用機器１と制御対象機器３を用いた機械学習によっては、こういった事象に対する学習を行うことは困難と考えられるため、中間学習モデルを機械学習モデル２０４として使用することには大いに利点がある。
【００６４】
また、図４に示した産業用機器１が、学習済み機械学習モデル１１０を用いて、そのパラメータや制御対象機器３の内部状態の推定を行うタイミングは、産業用機器１の特定の状態を検出した場合や、一定時間の経過を検出した場合とすると良い。
【００６５】
第一の例として、パラメータの推定が必要となる場合とは、産業用機器１に接続される制御対象機器３の状態、例えば負荷の大きさなどが変化した場合であると考えられる。そのような場合は、産業用機器１を用いる装置自体の構成に対して何らかの物理的な変更が加えられたものと考えられ、そのような変更は一般に、装置の停止中になされると考えられるから、例えば、産業用機器１の電源のオンまたはオフを検出した場合に行うことが考えられる。その他にも、制御対象機器３の負荷の一定以上の変化を検出した場合や、制御対象機器３に対する制御内容に変更が加えられたことを検出した場合など、産業用機器１の特定の状態を検出した場合に、パラメータや制御対象機器３の内部状態の推定を行うとよい。
【００６６】
第二の例として、制御用機器３の継続的使用に伴う特性の変化や、摩耗や劣化に起因する故障又はその予兆の検出は、急激に発生するものではないと考えられるから、一定時間、例えば２４時間の経過を検出するごとに、パラメータや制御対象機器３の内部状態の推定を行えば十分であると考えられる。また、この際の一定時間の計量は、実時間の経過によってもよいし、産業用機器１の電源がオンである時間または、制御対象機器３の運転が行われている時間の積算量の経過により行ってもよい。
【００６７】
このように、産業用機器１の特定の状態を検出した場合、一定時間の経過を検出した場合又はその両方の場合に、パラメータや制御対象機器３の内部状態の推定を行うことにより、産業用機器１のプロセッサ１０４に不要な負荷を課すことなく、パラメータや制御対象機器３の内部状態の推定が行える。
【００６８】
図６は、本発明の第２の実施形態に係る産業用機器１と拡張モジュール２を説明する図であって、同図は、産業用機器１と拡張モジュール２が接続されている状態における機能ブロック図である。
【００６９】
本実施形態において、産業用機器１、拡張モジュール２と制御対象機器３の物理的構成は先の実施形態と同一であり、また、その機能も基本的には同一であるため、両者に共通する部分には同一の番号を付し、重複する説明は省略する。また、先の実施形態についての図１及び図２については、本実施形態に援用するものとする。
【００７０】
本実施形態では、拡張モジュール２のメモリ２０１に記憶された機械学習モデルに対する機械学習を行う時点までは、先の実施形態と全く共通である。すなわち、図５のフローチャートで示した手順の内、拡張モジュール２を産業用機器１の外部端子１０に接続する（ＳＴ１）、制御対処機器３を駆動し、センサ３０１から情報を取得する（ＳＴ２）、及び、得られた情報を教師データとして、拡張モジュール２のプロセッサ２０２を用いて拡張モジュール２のメモリ２０１上の機械学習モデル２０４に対する学習を行う（ＳＴ３）、までは同様である。しかしながら、本実施形態では、最終的に得られた学習済み機械学習モデル２０５は、引き続き、拡張モジュール２のメモリ２０１に保持される。
【００７１】
したがって、産業用機器１が適宜のタイミング（すでに第１の実施形態について説明した通りでよい）で行う、産業用機器１のパラメータや制御対象機器３の内部状態の推定は、図６に示すように、産業用機器１と拡張モジュール２が接続されている状態でなされる。
【００７２】
本実施形態の場合には、産業用機器１のパラメータや制御対象機器３の内部状態の推定の際には拡張モジュール２を産業用機器１の外部端子１０１に接続しておく必要があるが、情報量の大きい学習済み機械学習モデル２０５を産業用機器１のメモリ１０７に保持する必要がないため、産業用機器１のメモリ１０７の容量が少なくともよい利点がある。また、産業用機器１のパラメータや制御対象機器３の内部状態の推定のための演算自体は、演算性能に優れた拡張モジュール２に搭載されたプロセッサ２０２により実行されるため、産業用機器１のプロセッサ１０４に余分な負荷をかけることがなく、特に、産業用機器１のプロセッサ１０４の演算性能が低い場合には、産業用機器１のパラメータや制御対象機器３の内部状態の推定値を速やかに得られる利点がある。
【００７３】
図７は、本発明の第３の実施形態に係る産業用機器１と拡張モジュール２を説明する図であって、同図は、産業用機器１と拡張モジュール２が接続されている状態における機能ブロック図である。
【００７４】
本実施形態においても、産業用機器１、拡張モジュール２と制御対象機器３の物理的構成は先の実施形態と同一であり、また、その機能も基本的には同一であるため、両者に共通する部分には同一の番号を付し、重複する説明は省略する。また、先の実施形態についての図１及び図２については、本実施形態に援用するものとする。
【００７５】
本実施形態においても、拡張モジュール２を産業用機器１の外部端子１０１に接続し、拡張モジュール２のメモリ２０１に記憶された機械学習モデルに対する機械学習を行う点については、先の第１及び第２の実施形態と共通である。また、得られた学習済み機械学習モデル２０５は、第２の実施形態の場合と同様、拡張モジュール２のメモリ２０１上に保持される。
【００７６】
本実施形態では、拡張モジュール２のメモリ２０１上には、図７に示したように、複数の学習済み機械学習モデル２０５が保持されうる。また、メモリ２０１上には、学習済み機械学習モデル２０５が得られた際に接続されていた産業用機器１を識別する情報が保持されており、複数の学習済み機械学習モデル２０５が、それぞれ、どの産業用機器１に対応しているかが識別可能とされている。
【００７７】
ここで、ある学習済み機械学習モデル２０５が、特定の産業用機器１に対応しているとは、その学習済み機械学習モデル２０５を得るための機械学習をする際に、拡張モジュール２を接続し、制御対象機器３を駆動して教師データを収集した産業用機器１のことを指している。そして、産業用機器１を識別する情報は、当該産業用機器１を一意に特定しうる情報であればどのようなものであってもよく、本実施形態では、産業用機器１のシリアル番号と、得られた学習済み機械学習モデルとの対応関係を保持するテーブル２０６である。
【００７８】
すなわち、本実施形態では、産業用機器１と拡張モジュール２とを接続して機械学習モデル２０４に対して機械学習を行う際に、産業用機器１に記憶されている識別情報１１２を拡張モジュール２に送信し、学習中の機械学習モデル２０４との対応関係をテーブル２０６に記憶しておく。なお、この識別情報１１２の拡張モジュール２への送信のタイミングは、機械学習を行っている間のいずれの時点でもよく、最初に送信するようにしてもよいし、機械学習が完了して学習済み機械学習モデル２０５が得られた時点又はその後であってもよい。
【００７９】
そして、拡張モジュール２は、必ずしもある特定の単一の産業用機器１に対してのみ用いられるわけではなく、複数の産業用機器１に対して使いまわされる。すなわち、特定の産業用機器１に対し一時的に拡張モジュール２が接続され、その後取り外され、また別の産業用機器１に対して接続される、といった具合である。そして、拡張モジュール２のメモリ２０１には、その記憶容量の許す限り、接続された産業用機器１毎に学習済み機械学習モデル２０５が作成され、記憶されることになる。図７には、一例として、３つの学習済み機械学習モデルＡ〜Ｃが保持されているものとして示している。
【００８０】
ここで、ある産業用機器1について、その内部パラメータあるいは当該産業用機器1に接続された制御対象機器3の内部状態を推定するには、その産業用機器１に対して取得された学習済み機械学習モデル２０５が必要である。そのため、内部パラメータあるいは制御対象機器3の内部状態を推定する際に、すでに学習済み機械学習モデル２０５をメモリ２０１に保持している拡張モジュール２を産業用機器１の外部端子１０１に接続する。
【００８１】
そして、産業用機器１に対し、直接、または外部の機器を介して間接的に指令を行い、内部パラメータあるいは当該産業用機器1に接続された制御対象機器3の内部状態の推定を指示すると、センサ３０１により得られる制御対象機器３についての情報及び、産業用機器１の識別情報１１２が拡張モジュール２に送られる。
【００８２】
拡張モジュール２のプロセッサ２０２は、送られてきた識別情報１１２をテーブル２０６と比較参照し、現在接続されている産業用機器１について得られた学習済み機械学習モデル２０５を特定する。ここでは、学習済み機械学習モデルＡが該当するものとする。
【００８３】
プロセッサ２０２は、送られてきた制御対象機器３についての情報を、学習済み機械学習モデルＡに入力し、得られた所望の出力を産業用機器１に対し送信する。産業用機器１のプロセッサ１０４は、得られた出力の種類や内容に応じて適切な処理を行う。図７に示した例では、学習済み機械学習モデルＡからの出力は、産業用機器１の内部パラメータであるモータパラメータ１１１の推定値であるため、この出力に応じて、プロセッサ１０４は、モータパラメータ１１１を更新する。これ以外にも、得られた出力が内部状態の推定値であれば、その値に応じた情報の提示をオペレータに対し行うなど、プロセッサ１０４は、学習済み機械学習モデルＡからの出力に応じた処理を行う。
【００８４】
このように、拡張モジュール２のメモリ２０１が複数の学習済み機械学習モデル２０５を記憶可能とし、拡張モジュール２が接続された産業用機器１の識別情報１１２に応じて、産業用機器１のパラメータ又は産業用機器１に接続された制御対象機器３の内部状態の推定に使用する学習済み機械学習モデル２０５を選択するようにすることで、一の拡張モジュール２を用いて、複数の産業用機器１についてのパラメータや機器の内部状態の推定を、再度学習させることなく、産業用機器１の外部端子１０１に接続するだけで適切に実行することが可能となる。
【００８５】
なお、本実施形態では、学習済み機械学習モデル２０５の選択を、産業用機器１の識別情報１１２に基づいて自動で行うものとして説明したが、ユーザであるオペレータが明示的に学習済み機械学習モデル２０５を選択するようにしても差し支えない。
【００８６】
第３の実施形態について、機械学習モデル２０４の学習及び、学習済み機械学習モデル２０５を用いたパラメータや機器の内部状態の推定の流れを、図８及び９に示したフロー図を用いて説明する。
【００８７】
図８は、第３の実施形態において、機械学習モデル２０４に対する学習を行う手順を示すフロー図である。
【００８８】
まず、拡張モジュール２を、産業用機器１の外部端子１０１に接続する（ＳＴ１１）。この段階では、拡張モジュール２のメモリ２０１に保持されている機械学習モデル２０４に対する機械学習はまだなされていない。但し、この機械学習モデル２０４は、すでに述べたように、中間学習モデルであってもよい。
【００８９】
産業用機器１により、制御対象機器３を駆動し、センサ３より教師データとなる情報を取得する（ＳＴ１２）。さらに、得られた情報を拡張モジュール２に送信し、拡張モジュール２のプロセッサ２０２は、得られた情報を教師データとして、機械学習モデル２０４に対する機械学習を行い、学習済み機械学習モデル２０５を得る（ＳＴ１３）。
【００９０】
また、産業用機器１は、自身の識別情報１１２を拡張モジュール２に送信する（ＳＴ１４）。なお、この識別情報１１２の送信のタイミングは、より早い段階、例えば、ＳＴ１１において拡張モジュール２を産業用機器１の外部端子１０１に接続した直後等であってもよい。
【００９１】
最終的に、得られた学習済み機械学習モデル２０５と、識別情報１１２との対応関係をメモリ２０１に記憶する（ＳＴ１５）。図７に示した例では、この対応関係は、テーブルの形式で記憶される。
【００９２】
図９は、さらに、第３の実施形態において、学習済み機械学習モデル２０５を用いたパラメータや機器の内部状態を推定する手順を示すフロー図である。
【００９３】
まず、いまだ接続されていない場合、拡張モジュール２を産業用機器１の外部端子１０１に接続する（ＳＴ２１）。ここで、接続する拡張モジュール２は、すでに、図８に示した手順で、当該産業用機器１を用いた機械学習を行っており、対応する学習済み機械学習モデル２０５をメモリ２０１に記憶している。
【００９４】
続いて、産業用機器１により、制御対象機器３を駆動し、センサ３０１より情報を取得する（ＳＴ２２）。取得された情報と、産業用機器１自身の識別情報１１２は、拡張モジュール２に送信される（ＳＴ２３）。
【００９５】
拡張モジュール２のプロセッサ２０２は、受信した識別情報１１２に基づいて、対応する学習済み機械学習モデル２０５を特定する（ＳＴ２４）。さらに、特定された学習済み機械学習モデル２０５に送信された情報を入力し、所望の出力を得る（ＳＴ２５）。
【００９６】
拡張モジュール２は、得られた出力値を産業用機器１に送信する（ＳＴ２６）。産業用機器１のプロセッサ１０４は、受信した出力値の種類や値に応じて定められた処理を行う。
【００９７】
以上説明した各実施形態においては、使用しようとする産業用機器１の機種などの種類や、産業用機器１に接続される制御対象機器３の構成に応じて、オペレータが機械学習モデル２０４（中間学習モデルを含む）を用意し、又は、あらかじめ拡張モジュール２に複数記憶された機械学習モデル２０４から適したものを明示的に又は自動で選択するものとして説明した。
【００９８】
しかしながら、制御対象機器３の様々な構成に対し好適な機械学習モデル２０４を用意し、またその用途に対応した中間学習モデルを用意するとなると、場合によっては、選択すべき機械学習モデル２０４の種類が多くなるケースが想定される。そのような場合、多種類の機械学習モデル２０４を全てあらかじめ拡張モジュール２のメモリ２０１に記憶しておくことは、メモリ２０１の容量の点から得策でなく、また、多くの種類の機械学習モデル２０４の中から最適なものを選択することは、熟練したオペレータでなければ困難であると考えられる。
【００９９】
そのため、中間学習モデルを含む多数の機械学習モデル２０４から好適なモデルを自動で選択し取得する構成を有する実施形態を、以下、第４の実施形態として示す。
【０１００】
本発明の第４の実施形態においても、産業用機器１、拡張モジュール２と制御対象機器３の物理的構成は先の実施形態と同一であり、また、その機能も基本的には同一であるため、両者に共通する部分には同一の番号を付し、重複する説明は省略する。また、先の実施形態についての図１及び図２については、本実施形態に援用するものとする。また、機械学習モデル２０４に対する機械学習の手順及び、産業用機器１のパラメータ及び、制御対象機器３の内部状態の推定の手順は、上述の第１〜第３の実施形態のいずれのものを用いても差し支えない。
【０１０１】
以下、図１０に示したフロー図を参照しつつ、本実施形態における機械学習モデル２０４を選択し取得する流れを説明する。まず、当初は特定の制御対象機器３を接続した産業用機器１に対し、いまだ学習済み機械学習モデルが得られておらず、またかかる構成に適した機械学習モデル２０４も特定されていない。この状態で、オペレータはまず、拡張モジュール２を産業用機器１の外部端子１０１に接続する（ＳＴ３１）。
【０１０２】
この時点で拡張モジュール２のメモリ２０１には、機械学習モデル２０４は記憶されていないか、または、何らかの機械学習モデル２０４（例えば、利用可能性が高いなど）が記憶されていてもよいが、想定されている構成に適した機械学習モデル２０４は記憶されていないものとする。
【０１０３】
この場合、拡張モジュール２は、産業用機器１から、機械学習モデル２０４を特定するために必要な情報を収集し、メモリ２０１に記憶する（ＳＴ３２）。機械学習モデル２０４を特定するために必要な情報は、産業用機器に関する情報と、制御対象機器に関する情報を含んでおり、より具体的には産業用機器１を特定する情報と、制御対象機器３とその構成を特定する情報を含む。産業用機器１を特定する情報は、産業用機器１の形式番号等であってよい。また、制御対象機器３とその構成を特定する情報は、制御対象機器３の形式番号や、性能を示す情報、例えば、モータの容量など及び、制御対象機器３の用途や組合せを示す情報、実現すべき性能を示す情報であってよい。
【０１０４】
その後、オペレータは拡張モジュール２を産業用機器１からいったん取り外し（ＳＴ３３）、インターネットなど外部の情報通信ネットワークに接続されたコンピュータに拡張モジュール２を接続する（ＳＴ３４）。拡張モジュール２は、外部の情報通信ネットワークを介して、情報通信ネットワークに接続されたサーバに対し、収集した機械学習モデル２０４を特定するために必要な情報を送信する（ＳＴ３５）。
【０１０５】
かかる情報が送信されるサーバは、多数種類の中間学習モデルを含む機械学習モデルを記憶している。そして、サーバは、受信した当該情報に基づいて、好適な機械学習モデルを選択し、拡張モジュール２に送信する（ＳＴ３６）。
【０１０６】
拡張モジュール２は、サーバより送信された機械学習モデル２０４をメモリ２０１に記憶する（ＳＴ３７）。
【０１０７】
以降は、先の第１〜第３の実施形態にて説明したと同様の手順にて、機械学習モデル２０４に対する機械学習を行い、また、産業用機器１におけるパラメータや制御対象機器３の内部状態の推定を行えばよい。
【符号の説明】
【０１０８】
１  産業用機器、２  拡張モジュール、３  制御対象機器、１０１  外部端子、１０２  サーボアンプ、１０３  制御回路、１０４  プロセッサ、１０５  ＡＣ／ＤＣ変換器、１０６  インバータ、１０７  メモリ、１０８  Ｉ／Ｏ、１０９  モータコントロール部、１１０  学習済み機械学習モデル、１１１  モータパラメータ、１１２  識別情報、２０１  メモリ、２０２  プロセッサ、２０３  Ｉ／Ｏ、２０４  機械学習モデル、２０５  学習済み機械学習モデル、２０６  テーブル、３０１  センサ。
【図１】
0006932160.tif 000002
【図２】
0006932160.tif 000003
【図３】
0006932160.tif 000004
【図４】
0006932160.tif 000005
【図５】
0006932160.tif 000006
【図６】
0006932160.tif 000007
【図７】
0006932160.tif 000008
【図８】
0006932160.tif 000009
【図９】
0006932160.tif 000010
【図１０】
0006932160.tif 000011