IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特許7226411拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法
<>
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図1
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図2
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図3
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図4
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図5
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図6
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図7
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図8
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図9
  • 特許-拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-13
(45)【発行日】2023-02-21
(54)【発明の名称】拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230214BHJP
   G05B 23/02 20060101ALI20230214BHJP
【FI】
G06N20/00
G05B23/02 T
G05B23/02 Z
【請求項の数】 4
(21)【出願番号】P 2020134820
(22)【出願日】2020-08-07
(62)【分割の表示】P 2019134347の分割
【原出願日】2019-07-22
(65)【公開番号】P2021018825
(43)【公開日】2021-02-15
【審査請求日】2021-08-12
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】吉浦 泰史
(72)【発明者】
【氏名】古賀 稔
(72)【発明者】
【氏名】吉良 俊信
【審査官】坂庭 剛史
(56)【参考文献】
【文献】国際公開第2018/173121(WO,A1)
【文献】国際公開第2019/048979(WO,A1)
【文献】国際公開第2016/067435(WO,A1)
【文献】特開2011-211791(JP,A)
【文献】国際公開第2019/106875(WO,A1)
【文献】特開2005-189031(JP,A)
【文献】特開2007-065715(JP,A)
【文献】今井 隆,今あるテクノロジー 第16回:ニューラルエンジンが加速するモバイルAIの世界,Mac Fan,日本,株式会社マイナビ出版,2018年01月01日,第26巻,第1号(通巻419号),p.131
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
少なくともプロセッサとメモリを有し、サーボコントローラの外部端子に接続される拡張モジュールであって、
前記プロセッサは、前記メモリに想定されている構成に適した機械学習モデルが記憶されていない場合に、前記サーボコントローラの前記外部端子に接続されることによって、前記サーボコントローラから、前記サーボコントローラに制御されるモータの容量を含む、機械学習モデルを特定するために必要な情報を収集し、
前記プロセッサは、前記サーボコントローラの前記外部端子から取り外され、外部のサーバに情報通信可能に接続された場合に、前記サーバに前記機械学習モデルを特定するために必要な情報を送信するとともに、前記サーバから中間学習モデルを受信し前記メモリに記憶させ、
前記プロセッサは、再度前記サーボコントローラの前記外部端子に接続されることによって、前記中間学習モデルに対し、前記サーボコントローラから取得した情報を教師データとして学習を行う、拡張モジュール。
【請求項2】
前記中間学習モデルは、発生頻度の低い事象に対する学習を済ませた学習モデルである、請求項1に記載の拡張モジュール。
【請求項3】
前記発生頻度の低い事象は、長時間の前記モータの運転に伴い生じる摩耗及び経年劣化の少なくともいずれかに起因する故障、長時間の前記モータの運転に伴い生じる摩耗及び経年劣化の少なくともいずれかに起因する故障の予兆、及び、異物の噛み込み及び破損の少なくともいずれかを含む偶発的事象、から選ばれる少なくとも一の事象を含む、請求項2に記載の拡張モジュール。
【請求項4】
前記機械学習モデルを特定するために必要な情報は、前記サーボコントローラに関する情報と、前記サーボコントローラにより制御される機器及びその構成を特定する情報を含む、請求項1~のいずれか1項に記載の拡張モジュール。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、拡張モジュール、産業用機器、及び産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法に関する。
【背景技術】
【0002】
近年、AI(人工知能)の分野における技術が進展し、その利用分野や応用が大きく広がりを見せている。その中核となる技術がいわゆるディープラーニングであるが、このディープラーニングによるAIの構築や実行には、大規模な並列演算処理が要求されるため、使用するコンピュータには高い演算処理能力が必要である。
【0003】
一方、組み込み機器などに使用されるシングルボードコンピュータ等の小型コンピュータは、その演算能力が高くなく、演算要求量の多いディープラーニングによるAIプログラムの実行には非力である場合がある。そのため、かかる機器にAIプログラムに適した演算能力を付加する外付けの機器が市販されている。例えば小型コンピュータのUSB(ユニバーサルシリアルバス)ポートに接続することで、外付けのVPU(ビジュアル処理ユニット)の利用が可能となる。
【0004】
上述の外付けの機器は汎用品であり、拡張された演算能力を提供するものにすぎないため、その利用のためには、一般的なAIプログラミングの知識及び技能と、当該外付けの機器に対して提供されているSDK(ソフトウェア開発キット)の理解が必要であり、利用しようとする用途に応じて自らAIプログラミングを行う必要がある。
【0005】
また、PLC(プログラマブルロジックコントローラ)やサーボコントローラ等のFA(ファクトリーオートメーション)機器などの産業用機器においては、その演算能力は、コストや消費電力などの兼ね合いにより決定されるため、当該産業用機器の稼働に必要な程度が確保されるにとどまり、一般に、あまり余力が大きいとは言い難い。
【0006】
そのような、産業用機器の一つであるサーボ制御装置におけるフィードフォワード係数を機械学習により求める機械学習装置が、特許文献1に開示されている。同文献開示の装置においては、サーボ制御装置と機械学習装置が、工場内に構築されたLAN(ローカルエリアネットワーク)やインターネット、公衆電話網などの情報通信ネットワークで接続される。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2018-152012号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
産業用機器の利用の態様に適したパラメータや、産業用機器により制御される機器の内部状態の推定にAI技術を適用するにあたり、産業用機器単体では演算能力やメモリ容量が不足する。また、産業用機器は一般の情報通信ネットワークに接続されることは多くないため、情報通信ネットワーク経由で高度な演算能力を持つコンピュータとの通信が常にできるわけではない。
【0009】
また、仮に産業用機器を適切な情報通信ネットワークに接続したとしても、産業用機器を常用するFA分野の技術者は、必ずしもAIプログラミングの専門教育を受けているわけではなく、また、仮にそのような専門教育を受けた人材が確保できたとしても、産業用機器の利用の態様は、利用の場面に応じて異なるから、その都度プログラミングを行うのは非現実的でもある。
【0010】
本発明は、かかる事情に基づいてなされたものであり、その目的は、ディープラーニングなどの演算負荷が高く、使用メモリ量の大きい機械学習を、産業用機器本体のコストを上昇させることなく、学習が必要な場合のみ利用可能とすることである。
【課題を解決するための手段】
【0011】
本発明の一側面に係る拡張モジュールは、少なくともプロセッサとメモリを有し、サーボコントローラの外部端子に接続される拡張モジュールであって、前記プロセッサは、前記メモリに想定されている構成に適した機械学習モデルが記憶されていない場合に、前記サーボコントローラの前記外部端子に接続されることによって、前記サーボコントローラから、前記サーボコントローラに制御されるモータの容量を含む、機械学習モデルを特定するために必要な情報を収集し、前記プロセッサは、前記サーボコントローラの前記外部端子から取り外され、外部のサーバに情報通信可能に接続された場合に、前記サーバに前記機械学習モデルを特定するために必要な情報を送信するとともに、前記サーバから中間学習モデルを受信し前記メモリに記憶させ、前記プロセッサは、再度前記サーボコントローラの前記外部端子に接続されることによって、前記中間学習モデルに対し、前記サーボコントローラから取得した情報を教師データとして学習を行う。
【0012】
また、本発明の一側面に係る拡張モジュールでは、前記中間学習モデルは、発生頻度の低い事象に対する学習を済ませた学習モデルであってよい。
【0013】
また、本発明の一側面に係る拡張モジュールでは、前記発生頻度の低い事象は、長時間の前記モータの運転に伴い生じる摩耗及び経年劣化の少なくともいずれかに起因する故障、長時間の前記モータの運転に伴い生じる摩耗及び経年劣化の少なくともいずれかに起因する故障の予兆、及び、異物の噛み込み及び破損の少なくともいずれかを含む偶発的事象、から選ばれる少なくとも一の事象を含んでよい。
【0016】
また、本発明の一側面に係る拡張モジュールでは、前記機械学習モデルを特定するために必要な情報は、前記サーボコントローラに関する情報と、前記サーボコントローラにより制御される機器及びその構成を特定する情報を含んでよい。
【0024】
また、本発明の一側面に係る産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定方法では、さらに、前記プロセッサは、学習済みの前記学習モデルを前記産業用機器に送信し、前記産業用機器は、自身の情報を入力データとして学習済みの前記学習モデルに入力し、前記産業用機器のパラメータ又は前記産業用機器により制御される機器の内部状態の推定値を出力として得てよい。
【図面の簡単な説明】
【0025】
図1】産業用機器と、産業用機器に接続された拡張モジュール及び、産業用機器により制御される制御対象機器の概観斜視図である。
図2】産業用機器と拡張モジュール及び制御対象機器のハードウェア構成を示す概略ブロック図である。
図3】産業用機器と拡張モジュールが接続されている状態において、各機器の機能に着目して内部構成を示した機能ブロック図である。
図4】学習済み機械学習モデルを備えた状態での産業用機器の内部構成を示す機能ブロック図である。
図5】機械学習を行い、産業用機器のパラメータを推定し、あるいは制御対象機器の内部状態を推定するまでの手順を示すフロー図である。
図6】本発明の第2の実施形態に係る産業用機器と拡張モジュールを説明する機能ブロック図である。
図7】本発明の第3の実施形態に係る産業用機器と拡張モジュールを説明する機能ブロック図である。
図8】本発明の第3の実施形態において、機械学習モデルに対する学習を行う手順を示すフロー図である。
図9】本発明の第3の実施形態において、学習済み機械学習モデルを用いたパラメータや機器の内部状態を推定する手順を示すフロー図である。
図10】本発明の第4の実施形態において、多数の機械学習モデルなモデルを自動で選択し取得する手順を示すフロー図である。
【発明を実施するための形態】
【0026】
以下、本発明の第1の実施形態に係る産業用機器1と拡張モジュール2、及びそれらを用いた産業用機器1の内部状態又は産業用機器1により制御される制御対象機器3の内部状態の推定方法を図1~5を参照して説明する。
【0027】
図1は、産業用機器1と、産業用機器1に接続された拡張モジュール2及び、産業用機器1により制御される制御対象機器3の概観斜視図である。ここで、本明細書で示す実施形態において、産業用機器1は、サーボコントローラとして示されており、以降では、産業用機器1として、サーボコントローラを例示して説明する。なお、本明細書において、「産業用機器」とは、FAに用い得る機器であって、何らかの他の機器(制御対象機器3)を制御し、あるいは他の機器と情報の入出力を行う機能を有する機器を指しており、サーボコントローラの他にも、PLCやシングルボードマイコン等であってよい。なお、産業用機器1は、その現実の用途がFAに限定されるわけではなく、生産設備はもちろん、車両やアミューズメント機器など、各種の装置に組み込まれ利用されてよい。
【0028】
また、制御対象機器3は、産業用機器1により制御され、あるいはその機器の状態を示す情報を入出力する機器である。ここでは、制御対象機器3としてはサーボモータが示されており、以降では、制御対象機器3として、サーボモータを例示して説明する。なお、制御対象機器3としては、その他の形式の回転電動機(例えば、ステッピングモータ等)や各種のアクチュエータ、スイッチやセンサ等であってもよい。また、産業用機器3に接続される制御対象機器3は1つである必要はなく、複数の制御対象機器3が接続されていてよい。
【0029】
産業用機器1には、適宜の外部機器と接続するための外部端子101が設けられている。図1では、外部端子101は、産業用機器1の前面に設けられているが、その他の面、例えば背面に設けられても、あるいは複数の外部端子101が用意されていてもよい。外部端子101は、産業用機器1と適宜の外部機器との間で情報の入出力を行うための接続端子であり、その規格はどのようなものであってもよい。本実施形態では、外部端子101は、USB端子であるが、これ以外の適宜の規格に即した端子であっても、また、独自の規格による端子であってもよい。
【0030】
拡張モジュール2は、図1に示したように、小型であり、かつ、外部端子101に直接接続され保持されるものであってよい。また、拡張モジュール2の電力は、外部端子101を介して、接続される産業用機器1から供給されてよい。このようにすると、拡張モジュール2を産業用機器1に接続する際に、余計なケーブルの取り回しや、電源コードなどを別途用意する必要がなく、簡便な取り回しができるためである。但し、拡張モジュール2のサイズや形状には技術的な制約はなく、図1に示したスティック状の形状に限られず、例えば箱形状の筐体であってもよい。また、ケーブルを利用して産業用機器1の外部端子101に接続されたり、拡張モジュール2自体に別途電源から電力を供給するようにしたりしても差し支えない。例えば、産業用機器1が装置の内部に組み込まれており、オペレータが直接外部端子101にアクセスすることが困難な場合が考えられ、そのような場合には、外部端子101に適宜の延長ケーブルを接続しておいて、かかる延長ケーブルに拡張モジュール2を接続するようにすると便利である。また、後述するように、拡張モジュール2は情報処理能力が高く、その演算時には大きな電力を要するため、産業用機器1の外部端子101から供給される電力では不足することが予想される場合には、別途、拡張モジュール2に電力を供給できるようにしておくとよい。
【0031】
いずれにしても、拡張モジュール2は必要な場合に産業用機器1の外部端子101に直接接続されるものであり、TCP/IPなどの汎用の情報通信ネットワークを経由した仮想的な接続によって産業用機器1と接続されるものではない。これは、産業用機器1はその性質上、何らかの装置に組み込まれ、セキュリティその他の要請により、外部の汎用の情報通信ネットワークから遮断されて使用されることが実用上多いためである。
【0032】
ここで、拡張モジュール2は、それ自体が独立した情報処理機器(いわゆるコンピュータ)であり、少なくとも、プロセッサとメモリをその内部に有している。本実施形態で示したサーボコントローラである産業用機器1もまた、サーボアンプとそれを制御するプロセッサとメモリを備えた情報処理機器としての機能を有しているが、先に述べたように、産業用機器1に用意される情報処理機器としての性能は、そもそも産業用機器1の目的とする機能を充足するに十分なものとして設計される。すなわち、本実施形態で示すように、産業用機器1がサーボコントローラであれば、その情報処理能力は、サーボモータである処理対象機器3の制御に十分なものであれば足り、また、産業用機器1がPLCであれば、その情報処理能力は、数マイクロ秒単位での論理演算と入出力に十分なものであれば足るものとされ、それを大幅に超える、例えば大規模並列演算に適したような演算能力は用意されないのが通常である。拡張モジュール2は、そのような大規模並列演算等の負荷の高い演算に適したプロセッサを備えており、通常の運転時にはそのような演算を必要としない産業用機器1に対し、一時的に、すなわち、拡張モジュール2が外部端子101に接続されている場合に限って、産業用機器1に高負荷に耐えうる演算能力を付与するものである。拡張モジュール2に搭載されるプロセッサは、一般的な(但し、処理能力に優れた)CPU(セントラルプロセッシングユニット)であっても、GPU(グラフィックスプロセッシングユニット)やVPU、ASIC(特定用途向け集積回路)などの任意の情報処理回路あるいはこれら複数種類の組み合わせであってもよい。
【0033】
この後述べるように、拡張モジュール2が行う演算は、いわゆるディープラーニング等の多層ニューラルネットワークモデルにおける機械学習を主眼としている。そのため、拡張モジュール2の設計は、適用としようとする機械学習モデルにおける演算に適したものとされ、通常は、大規模並列演算を高速に処理できるよう、多数のパイプラインを並列に配列したものとされるが、用いようとする機械学習モデルの機械学習に適したものであればどのようなものであっても差し支えない。
【0034】
図2は、産業用機器1と拡張モジュール2及び制御対象機器3のハードウェア構成を示す概略ブロック図である。産業用機器1は、サーボアンプ102と制御回路103を含み、外部機器からの指令を受けて、インバータ106を制御し、AC/DC変換器105により変換された直流を制御対象機器3の駆動に適した3相交流に変換し出力する。外部機器からの指令と、制御対象機器3の状態を検出するセンサ301からの出力は制御回路13に入力され、メモリ107に記憶された各種の情報に基づいて、プロセッサ104がインバータ106に対してする制御指令を決定する。
【0035】
ここで、センサ301は制御対象機器3に関する情報を検出する手段全般を総称しており、本例のように、制御対象機器3がサーボモータである場合に、ロータリエンコーダ等の回転角センサ、トルクセンサ、モータ電流手段、温度計といった各種の検出器を含んでいてよい。
【0036】
また、メモリ107には、制御対象機器3を制御する際に用いる各種パラメータ、例えば、ゲインパラメータや、モータの速度波形を規定する速度・加速度等の定数や時定数、制御対象機器3のモデル定数などが記憶されるほか、その他有用な情報、例えば、制御対象機器3の運転時間や総回転数などの駆動総量、モデルの形式番号やシリアル番号、ユーザに関する情報などが記憶されてよく、これら情報は、制御対象機器3の種類と制御内容に応じて、適宜プロセッサ14により参照され使用される。さらに、後述するように、メモリ107には、制御対象機器3に関する学習済み機械学習モデルが記憶されてよい。
【0037】
また、産業用機器1には外部機器とのインタフェースとして、I/O108が設けられており、図1に示した外部端子11はこのI/O108の一部分を構成している。I/O108には、情報通信用の制御回路と物理的な端子が1又は複数含まれ、外部端子101は、それら物理的な端子の1つである。
【0038】
拡張モジュール2は、メモリ201とプロセッサ202を含んでおり、プロセッサ202が単独でメモリ201を参照して演算を行うことが可能である。また、拡張モジュール2には、インタフェースとしてI/O203が設けられており、このI/O203には、情報通信用の制御回路と、産業用機器1の外部端子101と接続するための物理的な端子が含まれる。図2では、産業用機器1のI/O108と拡張モジュール2のI/O203を介して両者が情報通信可能に接続されている状態を示している。そして、拡張モジュール2は、制御対象機器3について収集されたセンサ301からの情報を、産業用機器1を通じ、I/O203から適宜受け取ることができる。
【0039】
図3は、産業用機器1と拡張モジュール2が接続されている状態において、各機器の機能に着目して内部構成を示した機能ブロック図である。
【0040】
産業用機器1には、モータコントロール部109と、サーボアンプ102、また場合によっては、学習済み機械学習モデル110が含まれる。モータコントロール部109は、ハードウェアとしては、図2に示した制御回路103を主として構成されており、かかるハードウェアに加え、主としてメモリ107に記憶される制御ソフトウェアと、制御対象機器3の制御に必要なモータパラメータ111を含んでいる。また、学習済み機械学習モデル110は、図2に示したメモリ107に記憶されるが、産業用機器1の使用開始当初においては、学習済み機械学習モデル110は用意されておらず、後述するように、拡張モジュール2を用いて機械学習を実行することにより、後から学習済み機械学習モデル110が構築され、産業用機器1のメモリ107に記憶される。図3では、当初においては用意されておらず、後から獲得される部分と、その獲得に際して行われる情報の流れを示す矢印を破線で示して明示している。
【0041】
拡張モジュール2には、機械学習モデル204が含まれている。そして、機械学習モデル204には、センサ301からの出力が入力できるように構成されている。
【0042】
図1~3に示した構成において、最終的に産業用機器1により制御対象機器3が定常的に制御されるにいたるまでの流れを説明する。
【0043】
モータコントローラのみに限らず、各種の産業用機器1を用いて制御対象機器3を効率よく、正確かつ高速に制御するためには、制御対象機器3の使用の態様に適したパラメータを与えなければならない。これまで、そのようなパラメータの推定方法や、自動設定する手法については多くの提案があり技術開発がなされているが、しかしながら、制御対象機器3の構成や負荷、動作などは個別の用途に応じてすべて異なっており、一律の設定方法によっては満足のいくパラメータが得られない場合も存在する。また、制御対象機器3の使用環境も時々刻々と変化する場合がある。例えば、ロボットアームによる作業内容が作業ごとに異なるものとなったり、外部環境を走行する車両において、路面の状態が異なったり、積載重量が変化したりすると最適なパラメータは当然に変化し、そのような変化の度にパラメータの再設定を行うことも困難である。
【0044】
あるいは、制御対象機器3の物理的な変化など、重要な内部状態は直接測定することが難しい。例えば、摩耗や経年劣化といった状態を知ることはむつかしく、一定運転時間ごとの部品を交換するなどのメンテナンスを行わざるを得ないが、これは本来まだ寿命があり交換の必要がない部品を廃棄することとなり、メンテナンスコストを増大させるほか、メンテナンス時間を要求するため、機器の稼働時間を減少させる。制御対象機器3に設けたセンサ出力からその内部状態を推定することは、条件によっては不可能とは言えないが、多くの場合熟練オペレータの経験と勘が必要であり、広く利用できるものではなく、また、信頼性の点でも満足できるものではない。
【0045】
このような、制御対象機器3に設けたセンサ出力からの産業用機器1の好適なパラメータや、制御対象機器3の内部状態の間接的な推定は、機械学習の得意とするところであると予測され、その利用が可能となればメリットは大きいと考えられる。
【0046】
そこで本実施形態において、このような用途に対し、ディープラーニングに代表される機械学習を利用するにあたっては、まず、産業用機器1に制御対象機器3が接続された状態で動作させて、センサ301から得られる情報を教師データとして機械学習モデル204に対する学習を行う。特定用途に応じて準備された制御対象機器3の実働データに基づいて機械学習モデル204の学習を進めることで、個別の用途に応じた精度の高い学習済み機械学習モデル110が得られる。
【0047】
この時、機械学習モデル204についての教師データとなる制御対象機器3の実働データをセンサ301から得るにあたり、制御対象機器3を動作させる制御自体は産業用機器1が実行するが、得られたセンサ301からのデータは、拡張モジュール2に送られる。拡張モジュール2は、自身に搭載されたプロセッサ202を使用して、メモリ201にあらかじめ用意された機械学習モデル204に対する機械学習を行う。
【0048】
ここで、機械学習モデル204がどのようなものであるかは制御対象機器3の構成や用途に応じて選択されるべきものであり、特に限定はされない。代表的なものとして、多層構造、例えば6~10層程度のパーセプトロン層をもついわゆるディープニューラルネットワークモデルを想定すると、パーセプトロンのノード数や各ノードのビット数にも依存するものの、その機械学習に要する演算は、一般に演算負荷が大きく、産業用機器1のプロセッサではその演算能力が不足する。すなわち、制御対象機器3を作動させ、センサ301から得られるテータに基づいて、次々と機械学習をさせることができず、十分なデータが得られたとしても、学習の完了までに多大な時間を要することとなり、あるいは、機械学習に必要なデータを保持しておく大きなメモリ容量が一時的に必要となってしまう。そのため、かかる機械学習における演算は、より演算能力の高い拡張モジュール2に搭載されたプロセッサ202を用いて行う。プロセッサ202の演算能力は、次々と取得されるセンサ301からのデータをリアルタイム又は、データの取得速度から大きく遅れることなく機械学習モデル204に対する学習を行うことができる程度かそれ以上のものとするとよい。
【0049】
また、機械学習モデル204は、産業用機器1により使用することが想定される制御対象機器3の構成に応じてあらかじめ用意し、拡張モジュール2のメモリ201に保持しておく。この機械学習モデル204は、機械学習を行おうとするオペレータが、制御対象機器3の構成や用途に応じて適宜用意してもよいし、あらかじめ複数種類の機械学習モデル204を拡張モジュール2のメモリ201に記憶しておき、最も適した機械学習モデル204を単に選択するようにしてもよい。
【0050】
オペレータが機械学習モデル204を用意するには、一例として、インターネットなどを介して提供される複数の機械学習モデルから、使用しようとする制御対象機器3の構成や用途に最も近いものをあらかじめPC等の情報処理機器にダウンロードしておき、拡張モジュール2をかかる情報処理機器に接続して、メモリ201にダウンロード済みの機械学習モデル204を転送するなどすると、オペレータが自ら機械学習モデル204を構築する必要がなく、AI技術に習熟しておらずとも、機械学習が利用可能である。
【0051】
また、拡張モジュール2のメモリ201にあらかじめ複数の機械学習モデル204が記憶されている場合、オペレータがその内の一つを指定するようにしてもよい。あるいは、拡張モジュール2又は産業用機器1が、産業用機器1に接続された制御対象機器3の形式番号やシリアル番号など、制御対象機器3の構成を示す情報に基づいて、自動的に機械学習モデル204を選択するようにしてもよい。このようにすると、オペレータに十分なAI技術の知識がなくとも、制御対象機器3の構成や用途に適した機械学習モデル204が自動で選択される。
【0052】
さらに、機械学習を行う際に、選択される機械学習モデル204は1つに限らず、複数であってもよい。この場合、拡張モジュール2では、選択された複数の機械学習モデル204に対して同時に機械学習を並行して行い、最終的に得られた機械学習モデル204の内、最も成績(例えば、予測精度等)の良いものを選択して使用するようにしてもよい。この場合、拡張モジュール2のプロセッサ202の演算能力を、同時に複数の機械学習モデル204に対する機械学習を行える程度に十分に高いものとする必要はあるものの、精度の高い学習済み機械学習モデルが得られる可能性が高まる。
【0053】
機械学習を行い、産業用機器1のパラメータを推定し、あるいは制御対象機器3の内部状態を推定するまでの手順を図5に示したフロー図に従い説明すると、次の通りとなる。すなわち、産業用機器1に制御対象機器3が接続され、いまだに学習済み機械学習モデルが得られていない場合には、まず、産業用機器1の外部端子101に拡張モジュール2を接続する(ST1)。続いて、機械学習に必要なデータを得るための制御対象機器3の駆動を行って、センサ301より制御対象機器3についての情報を取得する(ST2)。そして、得られた情報を教師データとして、拡張モジュール2のプロセッサ202を使用して、メモリ201に記憶された機械学習モデルの機械学習を行なう(ST3)。
【0054】
機械学習が十分に進むと、拡張モジュール2のメモリ201内には、学習済み機械学習モデル110が得られることになる。学習済み機械学習モデル110は、産業用機器1のメモリ107に転送され記憶される(ST4)。このようにすると、産業用機器1は、自らのプロセッサ104に頼ることなく、特定の制御対象機器3について学習がなされた学習済み機械学習モデル110を備えることになる。
【0055】
学習済み機械学習モデル110は、センサ301から得られる情報を入力とし、何らかの所望の情報を出力するものである。したがって、センサ301から得られる制御対象機器3についての情報を適宜学習済み機械学習モデル110に入力することにより、所望の出力を得る(ST5)。出力される情報は、産業用機器1で使用されるべき1又は複数のパラメータであってよく、また、1又は複数の制御対象機器3の内部状態の推定値であってよく、さらにその両方であってもよい。
【0056】
より具体的に例示すると、サーボモータである制御対象機器3の速度・トルク・電流等の動作波形を入力として、制御に適したゲインパラメータを出力し、あるいは摩耗や経年劣化の兆候を初期段階で推定し、点検や部品交換をオペレータに促す警告信号を出力したり、故障の発生までの余寿命を推定したりする学習済み機械学習モデル110を構築することができる。
【0057】
そして、この学習済み機械学習モデル110は、本実施形態では、産業用機器1のメモリ107に記憶されているため、学習済み機械学習モデル110を用いた、産業用機器のパラメータ又は産業用機器により制御される機器の内部状態の推定は、拡張モジュール2を必要としない。そのため、産業用機器1を定常的に使用する際には、拡張モジュール2を常時接続しておく必要はなく、取り外しておいて差し支えない。
【0058】
図4は、学習済み機械学習モデル110を備えた状態での産業用機器1の内部構成を示す機能ブロック図である。産業用機器1が学習済み機械学習モデル110を獲得している状態であれば、同図に示すように、拡張モジュール2が接続されていなくとも、学習済み機械学習モデル110を用いて必要に応じて好適なパラメータを推定し、あるいは制御対象機器3の内部状態を推定することができる。
【0059】
ここで、学習済み機械学習モデル110も、代表的には、多層のパーセプトロン層を持つディープニューラルネットワークモデルであり、入力値に対する出力をするためには相当量の演算が必要となる。しかしながら、機械学習を行うのに比すと、必要な演算量は少なく、また、学習済み機械学習モデル110を用いて得るべき推定値には、リアルタイム性や緊急性は必要でない場合が多いため、通常の制御対象機器3の制御の合間等、プロセッサ104の余剰の演算能力を用いた演算で十分な実用性が確保できると考えられる。
【0060】
このように、定常運転時には拡張モジュール2は必ずしも必要でないため、例えば多数の産業用機器1を運用する場合においても、機械学習を行おうとする産業用機器1にのみ拡張モジュール2を一時的に接続すればよく、拡張モジュール2を使いまわすことができるため経済的である。
【0061】
先に述べたように、本実施形態においては、学習済み機械学習モデル110により、制御に適したゲインパラメータを出力し、あるいは摩耗や経年劣化の兆候を初期段階で推定し、点検や部品交換をオペレータに促す警告信号を出力したり、故障の発生までの余寿命を推定しようとするものであるが、機械学習のための教師データを得る目的で制御対象機器3を動作させる際には、発生頻度の低い事象に対する学習効果を得ることはむつかしく、また、学習の効率も必ずしも良いとは言えない。
【0062】
そこで、拡張モジュール2のメモリ201に記憶しておく機械学習モデル204は、産業用機器1とその制御対象機器3の構成に応じて、あらかじめある程度の学習を済ませてある、中間学習モデルとすると良い。これはいわゆる転移学習と呼ばれる機械学習手法を利用するものであり、想定される制御対象機器3の構成に近い代表的な構成を用いて、あらかじめ中間程度の学習及び、発生頻度の低い事象に対する学習を済ませた学習モデルを機械学習モデル204として用いることを指している。このような中間学習済みの機械学習モデル204を用いることにより、学習の効率が高く、早期に機械学習モデル204の精度を高めることができるとともに、過学習による過剰適合の問題を緩和しつつ、産業用機器1とその制御対象機器3から得られる教師データに含まれる可能性の低い発生頻度の低い事象に対しても正しい推定を行うことのできる学習済み機械学習モデル110が得られる。
【0063】
ここで、発生頻度の低い事象とは、例えば、長時間の制御対象機器3の運転に伴い生じる摩耗や経年劣化等の故障及びその予兆や、異物の噛み込みや破損などの偶発的事象などが考えられる。特に、新品の産業用機器1と制御対象機器3を用いた機械学習によっては、こういった事象に対する学習を行うことは困難と考えられるため、中間学習モデルを機械学習モデル204として使用することには大いに利点がある。
【0064】
また、図4に示した産業用機器1が、学習済み機械学習モデル110を用いて、そのパラメータや制御対象機器3の内部状態の推定を行うタイミングは、産業用機器1の特定の状態を検出した場合や、一定時間の経過を検出した場合とすると良い。
【0065】
第一の例として、パラメータの推定が必要となる場合とは、産業用機器1に接続される制御対象機器3の状態、例えば負荷の大きさなどが変化した場合であると考えられる。そのような場合は、産業用機器1を用いる装置自体の構成に対して何らかの物理的な変更が加えられたものと考えられ、そのような変更は一般に、装置の停止中になされると考えられるから、例えば、産業用機器1の電源のオンまたはオフを検出した場合に行うことが考えられる。その他にも、制御対象機器3の負荷の一定以上の変化を検出した場合や、制御対象機器3に対する制御内容に変更が加えられたことを検出した場合など、産業用機器1の特定の状態を検出した場合に、パラメータや制御対象機器3の内部状態の推定を行うとよい。
【0066】
第二の例として、制御用機器3の継続的使用に伴う特性の変化や、摩耗や劣化に起因する故障又はその予兆の検出は、急激に発生するものではないと考えられるから、一定時間、例えば24時間の経過を検出するごとに、パラメータや制御対象機器3の内部状態の推定を行えば十分であると考えられる。また、この際の一定時間の計量は、実時間の経過によってもよいし、産業用機器1の電源がオンである時間または、制御対象機器3の運転が行われている時間の積算量の経過により行ってもよい。
【0067】
このように、産業用機器1の特定の状態を検出した場合、一定時間の経過を検出した場合又はその両方の場合に、パラメータや制御対象機器3の内部状態の推定を行うことにより、産業用機器1のプロセッサ104に不要な負荷を課すことなく、パラメータや制御対象機器3の内部状態の推定が行える。
【0068】
図6は、本発明の第2の実施形態に係る産業用機器1と拡張モジュール2を説明する図であって、同図は、産業用機器1と拡張モジュール2が接続されている状態における機能ブロック図である。
【0069】
本実施形態において、産業用機器1、拡張モジュール2と制御対象機器3の物理的構成は先の実施形態と同一であり、また、その機能も基本的には同一であるため、両者に共通する部分には同一の番号を付し、重複する説明は省略する。また、先の実施形態についての図1及び図2については、本実施形態に援用するものとする。
【0070】
本実施形態では、拡張モジュール2のメモリ201に記憶された機械学習モデルに対する機械学習を行う時点までは、先の実施形態と全く共通である。すなわち、図5のフローチャートで示した手順の内、拡張モジュール2を産業用機器1の外部端子10に接続する(ST1)、制御対処機器3を駆動し、センサ301から情報を取得する(ST2)、及び、得られた情報を教師データとして、拡張モジュール2のプロセッサ202を用いて拡張モジュール2のメモリ201上の機械学習モデル204に対する学習を行う(ST3)、までは同様である。しかしながら、本実施形態では、最終的に得られた学習済み機械学習モデル205は、引き続き、拡張モジュール2のメモリ201に保持される。
【0071】
したがって、産業用機器1が適宜のタイミング(すでに第1の実施形態について説明した通りでよい)で行う、産業用機器1のパラメータや制御対象機器3の内部状態の推定は、図6に示すように、産業用機器1と拡張モジュール2が接続されている状態でなされる。
【0072】
本実施形態の場合には、産業用機器1のパラメータや制御対象機器3の内部状態の推定の際には拡張モジュール2を産業用機器1の外部端子101に接続しておく必要があるが、情報量の大きい学習済み機械学習モデル205を産業用機器1のメモリ107に保持する必要がないため、産業用機器1のメモリ107の容量が少なくともよい利点がある。また、産業用機器1のパラメータや制御対象機器3の内部状態の推定のための演算自体は、演算性能に優れた拡張モジュール2に搭載されたプロセッサ202により実行されるため、産業用機器1のプロセッサ104に余分な負荷をかけることがなく、特に、産業用機器1のプロセッサ104の演算性能が低い場合には、産業用機器1のパラメータや制御対象機器3の内部状態の推定値を速やかに得られる利点がある。
【0073】
図7は、本発明の第3の実施形態に係る産業用機器1と拡張モジュール2を説明する図であって、同図は、産業用機器1と拡張モジュール2が接続されている状態における機能ブロック図である。
【0074】
本実施形態においても、産業用機器1、拡張モジュール2と制御対象機器3の物理的構成は先の実施形態と同一であり、また、その機能も基本的には同一であるため、両者に共通する部分には同一の番号を付し、重複する説明は省略する。また、先の実施形態についての図1及び図2については、本実施形態に援用するものとする。
【0075】
本実施形態においても、拡張モジュール2を産業用機器1の外部端子101に接続し、拡張モジュール2のメモリ201に記憶された機械学習モデルに対する機械学習を行う点については、先の第1及び第2の実施形態と共通である。また、得られた学習済み機械学習モデル205は、第2の実施形態の場合と同様、拡張モジュール2のメモリ201上に保持される。
【0076】
本実施形態では、拡張モジュール2のメモリ201上には、図7に示したように、複数の学習済み機械学習モデル205が保持されうる。また、メモリ201上には、学習済み機械学習モデル205が得られた際に接続されていた産業用機器1を識別する情報が保持されており、複数の学習済み機械学習モデル205が、それぞれ、どの産業用機器1に対応しているかが識別可能とされている。
【0077】
ここで、ある学習済み機械学習モデル205が、特定の産業用機器1に対応しているとは、その学習済み機械学習モデル205を得るための機械学習をする際に、拡張モジュール2を接続し、制御対象機器3を駆動して教師データを収集した産業用機器1のことを指している。そして、産業用機器1を識別する情報は、当該産業用機器1を一意に特定しうる情報であればどのようなものであってもよく、本実施形態では、産業用機器1のシリアル番号と、得られた学習済み機械学習モデルとの対応関係を保持するテーブル206である。
【0078】
すなわち、本実施形態では、産業用機器1と拡張モジュール2とを接続して機械学習モデル204に対して機械学習を行う際に、産業用機器1に記憶されている識別情報112を拡張モジュール2に送信し、学習中の機械学習モデル204との対応関係をテーブル206に記憶しておく。なお、この識別情報112の拡張モジュール2への送信のタイミングは、機械学習を行っている間のいずれの時点でもよく、最初に送信するようにしてもよいし、機械学習が完了して学習済み機械学習モデル205が得られた時点又はその後であってもよい。
【0079】
そして、拡張モジュール2は、必ずしもある特定の単一の産業用機器1に対してのみ用いられるわけではなく、複数の産業用機器1に対して使いまわされる。すなわち、特定の産業用機器1に対し一時的に拡張モジュール2が接続され、その後取り外され、また別の産業用機器1に対して接続される、といった具合である。そして、拡張モジュール2のメモリ201には、その記憶容量の許す限り、接続された産業用機器1毎に学習済み機械学習モデル205が作成され、記憶されることになる。図7には、一例として、3つの学習済み機械学習モデルA~Cが保持されているものとして示している。
【0080】
ここで、ある産業用機器1について、その内部パラメータあるいは当該産業用機器1に接続された制御対象機器3の内部状態を推定するには、その産業用機器1に対して取得された学習済み機械学習モデル205が必要である。そのため、内部パラメータあるいは制御対象機器3の内部状態を推定する際に、すでに学習済み機械学習モデル205をメモリ201に保持している拡張モジュール2を産業用機器1の外部端子101に接続する。
【0081】
そして、産業用機器1に対し、直接、または外部の機器を介して間接的に指令を行い、内部パラメータあるいは当該産業用機器1に接続された制御対象機器3の内部状態の推定を指示すると、センサ301により得られる制御対象機器3についての情報及び、産業用機器1の識別情報112が拡張モジュール2に送られる。
【0082】
拡張モジュール2のプロセッサ202は、送られてきた識別情報112をテーブル206と比較参照し、現在接続されている産業用機器1について得られた学習済み機械学習モデル205を特定する。ここでは、学習済み機械学習モデルAが該当するものとする。
【0083】
プロセッサ202は、送られてきた制御対象機器3についての情報を、学習済み機械学習モデルAに入力し、得られた所望の出力を産業用機器1に対し送信する。産業用機器1のプロセッサ104は、得られた出力の種類や内容に応じて適切な処理を行う。図7に示した例では、学習済み機械学習モデルAからの出力は、産業用機器1の内部パラメータであるモータパラメータ111の推定値であるため、この出力に応じて、プロセッサ104は、モータパラメータ111を更新する。これ以外にも、得られた出力が内部状態の推定値であれば、その値に応じた情報の提示をオペレータに対し行うなど、プロセッサ104は、学習済み機械学習モデルAからの出力に応じた処理を行う。
【0084】
このように、拡張モジュール2のメモリ201が複数の学習済み機械学習モデル205を記憶可能とし、拡張モジュール2が接続された産業用機器1の識別情報112に応じて、産業用機器1のパラメータ又は産業用機器1に接続された制御対象機器3の内部状態の推定に使用する学習済み機械学習モデル205を選択するようにすることで、一の拡張モジュール2を用いて、複数の産業用機器1についてのパラメータや機器の内部状態の推定を、再度学習させることなく、産業用機器1の外部端子101に接続するだけで適切に実行することが可能となる。
【0085】
なお、本実施形態では、学習済み機械学習モデル205の選択を、産業用機器1の識別情報112に基づいて自動で行うものとして説明したが、ユーザであるオペレータが明示的に学習済み機械学習モデル205を選択するようにしても差し支えない。
【0086】
第3の実施形態について、機械学習モデル204の学習及び、学習済み機械学習モデル205を用いたパラメータや機器の内部状態の推定の流れを、図8及び9に示したフロー図を用いて説明する。
【0087】
図8は、第3の実施形態において、機械学習モデル204に対する学習を行う手順を示すフロー図である。
【0088】
まず、拡張モジュール2を、産業用機器1の外部端子101に接続する(ST11)。この段階では、拡張モジュール2のメモリ201に保持されている機械学習モデル204に対する機械学習はまだなされていない。但し、この機械学習モデル204は、すでに述べたように、中間学習モデルであってもよい。
【0089】
産業用機器1により、制御対象機器3を駆動し、センサ3より教師データとなる情報を取得する(ST12)。さらに、得られた情報を拡張モジュール2に送信し、拡張モジュール2のプロセッサ202は、得られた情報を教師データとして、機械学習モデル204に対する機械学習を行い、学習済み機械学習モデル205を得る(ST13)。
【0090】
また、産業用機器1は、自身の識別情報112を拡張モジュール2に送信する(ST14)。なお、この識別情報112の送信のタイミングは、より早い段階、例えば、ST11において拡張モジュール2を産業用機器1の外部端子101に接続した直後等であってもよい。
【0091】
最終的に、得られた学習済み機械学習モデル205と、識別情報112との対応関係をメモリ201に記憶する(ST15)。図7に示した例では、この対応関係は、テーブルの形式で記憶される。
【0092】
図9は、さらに、第3の実施形態において、学習済み機械学習モデル205を用いたパラメータや機器の内部状態を推定する手順を示すフロー図である。
【0093】
まず、いまだ接続されていない場合、拡張モジュール2を産業用機器1の外部端子101に接続する(ST21)。ここで、接続する拡張モジュール2は、すでに、図8に示した手順で、当該産業用機器1を用いた機械学習を行っており、対応する学習済み機械学習モデル205をメモリ201に記憶している。
【0094】
続いて、産業用機器1により、制御対象機器3を駆動し、センサ301より情報を取得する(ST22)。取得された情報と、産業用機器1自身の識別情報112は、拡張モジュール2に送信される(ST23)。
【0095】
拡張モジュール2のプロセッサ202は、受信した識別情報112に基づいて、対応する学習済み機械学習モデル205を特定する(ST24)。さらに、特定された学習済み機械学習モデル205に送信された情報を入力し、所望の出力を得る(ST25)。
【0096】
拡張モジュール2は、得られた出力値を産業用機器1に送信する(ST26)。産業用機器1のプロセッサ104は、受信した出力値の種類や値に応じて定められた処理を行う。
【0097】
以上説明した各実施形態においては、使用しようとする産業用機器1の機種などの種類や、産業用機器1に接続される制御対象機器3の構成に応じて、オペレータが機械学習モデル204(中間学習モデルを含む)を用意し、又は、あらかじめ拡張モジュール2に複数記憶された機械学習モデル204から適したものを明示的に又は自動で選択するものとして説明した。
【0098】
しかしながら、制御対象機器3の様々な構成に対し好適な機械学習モデル204を用意し、またその用途に対応した中間学習モデルを用意するとなると、場合によっては、選択すべき機械学習モデル204の種類が多くなるケースが想定される。そのような場合、多種類の機械学習モデル204を全てあらかじめ拡張モジュール2のメモリ201に記憶しておくことは、メモリ201の容量の点から得策でなく、また、多くの種類の機械学習モデル204の中から最適なものを選択することは、熟練したオペレータでなければ困難であると考えられる。
【0099】
そのため、中間学習モデルを含む多数の機械学習モデル204から好適なモデルを自動で選択し取得する構成を有する実施形態を、以下、第4の実施形態として示す。
【0100】
本発明の第4の実施形態においても、産業用機器1、拡張モジュール2と制御対象機器3の物理的構成は先の実施形態と同一であり、また、その機能も基本的には同一であるため、両者に共通する部分には同一の番号を付し、重複する説明は省略する。また、先の実施形態についての図1及び図2については、本実施形態に援用するものとする。また、機械学習モデル204に対する機械学習の手順及び、産業用機器1のパラメータ及び、制御対象機器3の内部状態の推定の手順は、上述の第1~第3の実施形態のいずれのものを用いても差し支えない。
【0101】
以下、図10に示したフロー図を参照しつつ、本実施形態における機械学習モデル204を選択し取得する流れを説明する。まず、当初は特定の制御対象機器3を接続した産業用機器1に対し、いまだ学習済み機械学習モデルが得られておらず、またかかる構成に適した機械学習モデル204も特定されていない。この状態で、オペレータはまず、拡張モジュール2を産業用機器1の外部端子101に接続する(ST31)。
【0102】
この時点で拡張モジュール2のメモリ201には、機械学習モデル204は記憶されていないか、または、何らかの機械学習モデル204(例えば、利用可能性が高いなど)が記憶されていてもよいが、想定されている構成に適した機械学習モデル204は記憶されていないものとする。
【0103】
この場合、拡張モジュール2は、産業用機器1から、機械学習モデル204を特定するために必要な情報を収集し、メモリ201に記憶する(ST32)。機械学習モデル204を特定するために必要な情報は、産業用機器に関する情報と、制御対象機器に関する情報を含んでおり、より具体的には産業用機器1を特定する情報と、制御対象機器3とその構成を特定する情報を含む。産業用機器1を特定する情報は、産業用機器1の形式番号等であってよい。また、制御対象機器3とその構成を特定する情報は、制御対象機器3の形式番号や、性能を示す情報、例えば、モータの容量など及び、制御対象機器3の用途や組合せを示す情報、実現すべき性能を示す情報であってよい。
【0104】
その後、オペレータは拡張モジュール2を産業用機器1からいったん取り外し(ST33)、インターネットなど外部の情報通信ネットワークに接続されたコンピュータに拡張モジュール2を接続する(ST34)。拡張モジュール2は、外部の情報通信ネットワークを介して、情報通信ネットワークに接続されたサーバに対し、収集した機械学習モデル204を特定するために必要な情報を送信する(ST35)。
【0105】
かかる情報が送信されるサーバは、多数種類の中間学習モデルを含む機械学習モデルを記憶している。そして、サーバは、受信した当該情報に基づいて、好適な機械学習モデルを選択し、拡張モジュール2に送信する(ST36)。
【0106】
拡張モジュール2は、サーバより送信された機械学習モデル204をメモリ201に記憶する(ST37)。
【0107】
以降は、先の第1~第3の実施形態にて説明したと同様の手順にて、機械学習モデル204に対する機械学習を行い、また、産業用機器1におけるパラメータや制御対象機器3の内部状態の推定を行えばよい。
【符号の説明】
【0108】
1 産業用機器、2 拡張モジュール、3 制御対象機器、101 外部端子、102
サーボアンプ、103 制御回路、104 プロセッサ、105 AC/DC変換器、106 インバータ、107 メモリ、108 I/O、109 モータコントロール部、110 学習済み機械学習モデル、111 モータパラメータ、112 識別情報、201 メモリ、202 プロセッサ、203 I/O、204 機械学習モデル、205
学習済み機械学習モデル、206 テーブル、301 センサ。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10