(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024099151
(43)【公開日】2024-07-25
(54)【発明の名称】データ生成装置、学習モデル生成装置、クラス分類装置、データ生成方法、学習モデル生成方法、クラス分類方法、およびコンピュータプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240718BHJP
G05B 23/02 20060101ALI20240718BHJP
【FI】
G06N20/00 130
G05B23/02 302Z
【審査請求】未請求
【請求項の数】13
【出願形態】OL
(21)【出願番号】P 2023002876
(22)【出願日】2023-01-12
(71)【出願人】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100123021
【弁理士】
【氏名又は名称】渥美 元幸
(74)【代理人】
【識別番号】100126538
【弁理士】
【氏名又は名称】嶺 直道
(72)【発明者】
【氏名】雛田 浩生
(72)【発明者】
【氏名】吉田 圭吾
(72)【発明者】
【氏名】増川 京佑
(72)【発明者】
【氏名】相馬 大輔
【テーマコード(参考)】
3C223
【Fターム(参考)】
3C223AA12
3C223EA06
3C223EB02
3C223EB03
3C223FF03
3C223FF13
3C223FF16
3C223FF22
3C223FF26
(57)【要約】
【課題】現実的に発生し得る異常時のデータを生成することのできるデータ生成装置を提供する。
【解決手段】データ生成装置は、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得する第1データ取得部と、前記第1データ取得部が取得した前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するデータ生成部とを備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得する第1データ取得部と、
前記第1データ取得部が取得した前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するデータ生成部とを備える、データ生成装置。
【請求項2】
前記データ生成部は、前記正常データおよび前記第1異常データに基づく補間処理により前記第2異常データを生成する、請求項1に記載のデータ生成装置。
【請求項3】
前記正常データおよび前記第1異常データの各々は時系列データであり、
前記データ生成部は、
各時刻の前記正常データと各時刻の前記第1異常データとを対応付けるデータ対応付け部と、
前記データ対応付け部により対応付けられたデータの組の各々に基づく補間処理により時系列の前記第2異常データを生成する第2異常データ生成部とを含む、請求項1または請求項2に記載のデータ生成装置。
【請求項4】
前記データ対応付け部は、Dynamic Time Warping、Derivative Dynamic Time Warping、または前記正常データおよび前記異常データの各々の時刻に基づいて、各時刻の前記正常データと各時刻の前記第1異常データとを対応付ける、請求項3に記載のデータ生成装置。
【請求項5】
前記対象機器は、ロボットアームを含み、
前記正常データ、前記第1異常データおよび前記第2異常データは、前記ロボットアームの加速度、角速度、位置、電圧、電流、速度、角度、磁場および温度の少なくとも1つを含む、請求項1または請求項2に記載のデータ生成装置。
【請求項6】
請求項1または請求項2に記載のデータ生成装置から前記正常データ、前記第1異常データおよび第2異常データを取得する第2データ取得部と、
前記正常データ、前記第1異常データおよび前記第2異常データを教師データとして用いて、前記対象機器から得られる入力データを前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類する学習モデルを生成する学習モデル生成部とを備える、学習モデル生成装置。
【請求項7】
対象機器から入力データを取得する入力データ取得部と、
前記入力データ取得部が取得した前記入力データを、請求項6に記載の学習モデル生成装置により生成された前記学習モデルに入力することにより、前記入力データを、前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類するクラス分類部とを備える、クラス分類装置。
【請求項8】
データ生成装置が、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得するステップと、
前記データ生成装置が、前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するステップとを含む、データ生成方法。
【請求項9】
データ生成装置が、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得するステップと、
前記データ生成装置が、前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するステップと、
学習モデル生成装置が、前記正常データ、前記第1異常データおよび前記第2異常データを教師データとして用いて、前記対象機器から得られる入力データを前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類する学習モデルを生成するステップとを含む、学習モデル生成方法。
【請求項10】
データ生成装置が、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得するステップと、
前記データ生成装置が、前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するステップと、
学習モデル生成装置が、前記正常データ、前記第1異常データおよび前記第2異常データを教師データとして用いて、前記対象機器から得られる入力データを前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類する学習モデルを生成するステップと、
クラス分類装置が、前記対象機器から前記入力データを取得するステップと、
前記クラス分類装置が、前記入力データを前記学習モデルに入力することにより、当該入力データを、前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類するステップとを含む、クラス分類方法。
【請求項11】
コンピュータを、
第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得する第1データ取得部、および、
前記第1データ取得部が取得した前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するデータ生成部として機能させるための、コンピュータプログラム。
【請求項12】
コンピュータを、
請求項1または請求項2に記載のデータ生成装置から前記正常データ、前記第1異常データおよび第2異常データを取得する第2データ取得部、および、
前記正常データ、前記第1異常データおよび前記第2異常データを教師データとして用いて、前記対象機器から得られる入力データを前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類する学習モデルを生成する学習モデル生成部として機能させるための、コンピュータプログラム。
【請求項13】
コンピュータを、
対象機器から入力データを取得する入力データ取得部、および、
前記入力データ取得部が取得した前記入力データを、請求項6に記載の学習モデル生成装置により生成された前記学習モデルに入力することにより、前記入力データを、前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類するクラス分類部として機能させるための、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ生成装置、学習モデル生成装置、クラス分類装置、データ生成方法、学習モデル生成方法、クラス分類方法、およびコンピュータプログラムに関する。
【背景技術】
【0002】
近年の生産システムは、生産性を向上させるために、ネットワークと接続した形態が増えつつある。このため、生産システムがサイバー攻撃を受ける事例も増加しており、対策の必要性も認識されている。
【0003】
サイバー攻撃の対象は設備の操作プログラムやコントローラなど多岐にわたる。また、サイバー攻撃以外にも物理干渉や誤操作による異常も起こりうるため、設備の異常発生時に判定すべき異常の種類や程度は多岐にわたる。異常原因を特定するシステムを構築するためには、通常は判定したい全ての異常クラスに対するデータが必要となるが、多種類の異常動作のデータを網羅的に取得することはコストやリソースの面から困難である。
【0004】
特許文献1には、正常データに、周期的な変動、増加もしくは減少のトレンド、スパイク、移動のずれ、またはカラードノイズを加えることにより、異常データを生成する方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の方法によると、正常データを加工することにより異常データを生成しているが、加工方法は実際の異常データを反映して定められたものではない。このため、異常データには現実的に発生しにくいデータが含まれる。このような異常データを用いてデータの異常を判別する学習モデルを生成したとしても、当該学習モデルによっては、実際に発生した異常時のデータを正確に異常と判別することができない恐れがある。
【0007】
本開示は、このような課題を解決するためになされたものであり、現実的に発生し得る異常時のデータを生成することのできるデータ生成装置、データ生成方法、およびコンピュータプログラムを提供することを目的とする。
【0008】
また、本開示は、現実的に発生し得る異常時のデータを正確に分類することのできる学習モデル生成装置、クラス分類装置、学習モデル生成方法、クラス分類方法、およびコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の一態様に係るデータ生成装置は、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得する第1データ取得部と、前記第1データ取得部が取得した前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するデータ生成部とを備える。
【0010】
本発明は、このような特徴的な処理部を備えるデータ生成装置として実現することができるだけでなく、かかる特徴的な処理をステップとするデータ生成方法として実現したり、かかるステップをコンピュータに実行させるためのコンピュータプログラムとして実現したりすることができる。また、データ生成装置の一部または全部を実現する半導体集積回路として実現したり、データ生成装置を利用した学習モデル生成装置およびクラス分類装置として実現したり、データ生成装置を含むシステムとして実現したりすることができる。
【発明の効果】
【0011】
本開示によると、現実的に発生し得る異常時のデータを生成することができる。
【図面の簡単な説明】
【0012】
【
図1A】
図1Aは、本開示の実施形態に係る生産システムの全体構成を示す図である。
【
図2】
図2は、コンピュータのハードウェア構成を示すブロック図である。
【
図3】
図3は、学習モデル生成システムの機能的な構成を示すブロック図である。
【
図4】
図4は、正常データおよび異常データの一例を示す図である。
【
図5】
図5は、正常データおよび異常データの対応付けの結果を示す図である。
【
図6】
図6は、中間データの生成処理を説明するための図である。
【
図7】
図7は、クラス分類装置の機能的な構成を示すブロック図である。
【
図8】
図8は、データ生成装置および学習モデル生成装置が実行する学習モデル生成処理の一例を示すフローチャートである。
【
図9】
図9は、クラス分類装置が実行する異常判定処理の一例を示すフローチャートである。
【
図10】
図10は、中間データの生成処理を説明するための図である。
【発明を実施するための形態】
【0013】
[本開示の実施形態の概要]
最初に本開示の実施形態の概要を列記して説明する。
(1)本開示の一実施形態に係るデータ生成装置は、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得する第1データ取得部と、前記第1データ取得部が取得した前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するデータ生成部とを備える。
【0014】
この構成によると、正常データに加えて現実に発生した第1異常データを利用して第2異常データを生成している。このため、現実的に発生し得る第2異常データを生成することができる。これにより、第1異常データとは異常レベルの異なる第2異常データを生成することができる。
【0015】
(2)上記(1)において、前記データ生成部は、前記正常データおよび前記第1異常データに基づく補間処理により前記第2異常データを生成してもよい。
【0016】
この構成によると、正常データおよび第1異常データの中間的なデータである第2異常データを生成することができる。これにより、例えば、正常動作および異常動作の中間的な動作に対応したデータを生成することができる。
【0017】
(3)上記(1)または(2)において、前記正常データおよび前記第1異常データの各々は時系列データであり、前記データ生成部は、各時刻の前記正常データと各時刻の前記第1異常データとを対応付けるデータ対応付け部と、前記データ対応付け部により対応付けられたデータの組の各々に基づく補間処理により時系列の前記第2異常データを生成する第2異常データ生成部とを含んでもよい。
【0018】
この構成によると、時系列の第2異常データを生成することができる。
【0019】
(4)上記(3)において、前記データ対応付け部は、Dynamic Time Warping、Derivative Dynamic Time Warping、または前記正常データおよび前記異常データの各々の時刻に基づいて、各時刻の前記正常データと各時刻の前記第1異常データとを対応付けてもよい。
【0020】
この構成によると、Dynamic Time WarpingまたはDerivative Dynamic Time Warpingを用いることにより、正常データおよび第1異常データの時間長や、正常データおよび第1異常データに含まれるデータ数が異なる場合でも、各時刻の正常データおよび第1異常データを正確に対応付けることができる。これにより、現実的に発生し得る第2異常データを生成することができる。また、例えば、同時刻の正常データおよび第1異常データを対応付けることもできる。これにより、簡便な方法により各時刻の正常データと各時刻の第1異常データを対応付けることができる。
【0021】
(5)上記(1)から(4)のいずれかにおいて、前記対象機器は、ロボットアームを含み、前記正常データ、前記第1異常データおよび前記第2異常データは、前記ロボットアームの加速度、角速度、位置、電圧、電流、速度、角度、磁場および温度の少なくとも1つを含んでもよい。
【0022】
この構成によると、ロボットアームの加速度、角速度、位置、電圧、電流、速度、角度、磁場および温度の少なくとも1つについて、現実的に発生し得る第2異常データを生成することができる。
【0023】
(6)本開示の他の実施形態に係る学習モデル生成装置は、上記(1)から(5)のいずれかに記載のデータ生成装置から前記正常データ、前記第1異常データおよび第2異常データを取得する第2データ取得部と、前記正常データ、前記第1異常データおよび前記第2異常データを教師データとして用いて、前記対象機器から得られる入力データを前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類する学習モデルを生成する学習モデル生成部とを備える。
【0024】
この構成によると、正常データと、第1異常データと、正常データおよび第1異常データから生成された第2異常データとを分類することのできる学習モデルを生成することができる。これにより、現実的に発生し得る異常時のデータを正確に分類することができる。また、複数の異常レベルの異常データを正確に分類することができる。
【0025】
(7)本開示の他の実施形態に係るクラス分類装置は、対象機器から入力データを取得する入力データ取得部と、前記入力データ取得部が取得した前記入力データを、上記(6)に記載の学習モデル生成装置により生成された前記学習モデルに入力することにより、前記入力データを、前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類するクラス分類部とを備える。
【0026】
この構成によると、正常データと、第1異常データと、正常データおよび第1異常データから生成された第2異常データとを分類することのできる学習モデルを用いて、入力データをいずれかのクラスに分類することができる。これにより、現実的に発生し得る異常時のデータを正確に分類することができる。また、複数の異常レベルの異常データを正確に分類することができる。
【0027】
(8)本開示の他の実施形態に係るデータ生成方法は、データ生成装置が、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得するステップと、前記データ生成装置が、前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するステップとを含む。
【0028】
この構成は、上述のデータ生成装置における特徴的な処理をステップとして含む。このため、上述のデータ生成装置と同様の作用および効果を奏することができる。
【0029】
(9)本開示の他の実施形態に係る学習モデル生成方法は、データ生成装置が、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得するステップと、前記データ生成装置が、前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するステップと、学習モデル生成装置が、前記正常データ、前記第1異常データおよび前記第2異常データを教師データとして用いて、前記対象機器から得られる入力データを前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類する学習モデルを生成するステップとを含む。
【0030】
この構成は、上述の学習モデル生成装置における特徴的な処理をステップとして含む。このため、上述の学習モデル生成装置と同様の作用および効果を奏することができる。
【0031】
(10)本開示の他の実施形態に係るクラス分類方法は、データ生成装置が、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得するステップと、前記データ生成装置が、前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するステップと、学習モデル生成装置が、前記正常データ、前記第1異常データおよび前記第2異常データを教師データとして用いて、前記対象機器から得られる入力データを前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類する学習モデルを生成するステップと、クラス分類装置が、前記対象機器から前記入力データを取得するステップと、前記クラス分類装置が、前記入力データを前記学習モデルに入力することにより、当該入力データを、前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類するステップとを含む。
【0032】
この構成は、上述のクラス分類装置における特徴的な処理をステップとして含む。このため、上述のクラス分類装置と同様の作用および効果を奏することができる。
【0033】
(11)本開示の他の実施形態に係るコンピュータプログラムは、コンピュータを、第1動作を行う対象機器から得られる正常データと、前記第1動作とは異なる第2動作を行う前記対象機器から得られる第1異常データとを取得する第1データ取得部、および、前記第1データ取得部が取得した前記正常データおよび前記第1異常データに基づいて、前記正常データをクラス分類した場合に当該正常データが属する正常クラスおよび前記第1異常データをクラス分類した場合に当該第1異常データが属する第1異常クラスの双方のクラスと異なる第2異常クラスにクラス分類の結果属する第2異常データを生成するデータ生成部として機能させる。
【0034】
この構成によると、コンピュータを、上述のデータ生成装置として機能させることができる。このため、上述のデータ生成装置と同様の作用および効果を奏することができる。
【0035】
(12)本開示の他の実施形態に係るコンピュータプログラムは、コンピュータを、上記(1)から(5)のいずれかに記載のデータ生成装置から前記正常データ、前記第1異常データおよび第2異常データを取得する第2データ取得部、および、前記正常データ、前記第1異常データおよび前記第2異常データを教師データとして用いて、前記対象機器から得られる入力データを前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類する学習モデルを生成する学習モデル生成部として機能させる。
【0036】
この構成によると、コンピュータを、上述の学習モデル生成装置として機能させることができる。このため、上述の学習モデル生成装置と同様の作用および効果を奏することができる。
【0037】
(13)本開示の他の実施形態に係るコンピュータプログラムは、コンピュータを、対象機器から入力データを取得する入力データ取得部、および、前記入力データ取得部が取得した前記入力データを、上記(6)に記載の学習モデル生成装置により生成された前記学習モデルに入力することにより、前記入力データを、前記正常クラス、前記第1異常クラスおよび前記第2異常クラスのいずれかに分類するクラス分類部として機能させる。
【0038】
この構成によると、コンピュータを、上述のクラス分類装置として機能させることができる。このため、上述のクラス分類装置と同様の作用および効果を奏することができる。
【0039】
[本開示の実施形態の詳細]
以下、本開示の実施形態について、図面を参照しながら説明する。なお、以下で説明する実施形態は、いずれも本開示の一具体例を示すものである。以下の実施形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定するものではない。また、以下の実施形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【0040】
また、同一の構成要素には同一の符号を付す。それらの機能および名称も同様であるため、それらの説明は適宜省略する。
【0041】
〔生産システムの全体構成〕
図1Aは、本開示の実施形態に係る生産システムの全体構成を示す図である。
生産システム1は、ロボットアーム200と、コンピュータ100とを備える。
【0042】
ロボットアーム200は、例えば、製品の製造ラインに設置され、制御装置からの指令に従い動作することによって、半製品に対する部品の取り付け、塗装または溶接等の作業を実行する。
【0043】
ロボットアーム200は、ベース201と、ジョイント202,203,204と、リンク211,212,213と、エンドエフェクタ214と、加速度センサ221,222とを備える。
ベース201は、ロボットアーム200を床等に固定するための部品である。
【0044】
ベース201、およびジョイント202,203,204は、それぞれ内部にサーボモータを備える。ベース201は水平面に固定されるものとする。ベース201内部に備えられたサーボモータは水平方向に回転する。また、ジョイント202,203,204のそれぞれの内部に備えられたサーボモータは鉛直方向に回転する。
【0045】
リンク211は、ベース201とジョイント202とを接続する。リンク212は、ジョイント202とジョイント203とを接続する。リンク213は、ジョイント203とジョイント204とを接続する。
【0046】
エンドエフェクタ214は、ロボットハンドとも呼ばれ、ジョイント204に接続され、部品の把持、加工、ネジ締め、塗装、溶接などの作業を行う。
【0047】
加速度センサ221は、リンク213に設けられる。
図1Bは、
図1Aの第1破線部231で示される領域の拡大図である。加速度センサ221の座標軸は、リンク213の軸の方向に平行なX軸と、X軸に直交するY軸およびZ軸とから構成される。ここで、リンク213の軸の方向とは、例えば、リンク213の中心軸の方向であって、ジョイント203からジョイント204に向かう方向である。また、Z軸は、リンク213から遠ざかる方向に配置される。加速度センサ221は、リンク213のX軸方向、Y軸方向およびZ軸方向の加速度を検出し、検出結果を出力する。
【0048】
加速度センサ222は、エンドエフェクタ214に設けられる。
図1Cは、
図1Aの第2破線部232で示される領域の拡大図である。加速度センサ222の座標軸は、エンドエフェクタ214の軸の方向に平行なX軸と、X軸に直交するY軸およびZ軸とから構成される。ここで、エンドエフェクタ214の軸の方向とは、例えば、エンドエフェクタ214の根元部分(エンドエフェクタ214のジョイント204との接続部分)からエンドエフェクタ214の先端に向かう方向である。また、Z軸は、エンドエフェクタ214から遠ざかる方向に配置される。加速度センサ222は、エンドエフェクタ214のX軸方向、Y軸方向およびZ軸方向の加速度を検出し、検出結果を出力する。加速度センサ221,222は、圧電型加速度センサ、サーボ型加速度センサ、ひずみゲージ式加速度センサ、または半導体式加速度センサなどから構成される。
【0049】
コンピュータ100は、加速度センサ221,222と接続され、加速度センサ221,222からジョイント203およびエンドエフェクタ214の加速度をそれぞれ取得する。コンピュータ100は、取得した加速度に基づいて、ロボットアーム200が正常動作しているか、異常動作しているかを判定する。コンピュータ100によるロボットアーム200の動作判定処理については後述する。
【0050】
〔コンピュータ100の構成〕
図2は、コンピュータ100のハードウェア構成を示すブロック図である。
コンピュータ100は、I/F(インタフェース)部110と、記憶装置120と、プロセッサ130と、バス140とを備える。
【0051】
I/F部110は、外部機器とコンピュータ100とを接続する。ここでは、I/F部110は、
図1Aに示したロボットアーム200の加速度センサ221,222と接続され、加速度センサ221,222から加速度データを受信する。
【0052】
記憶装置120は、SRAM(Static Random Access Memory)もしくはDRAM(Dynamic Random Access Memory)などの揮発性のメモリ素子、フラッシュメモリもしくはEEPROM(Electrically Erasable Programmable Read-Only Memory)などの不揮発性のメモリ素子、または、ハードディスクなどの磁気記憶装置などにより構成される。
【0053】
記憶装置120は、プロセッサ130が実行するコンピュータプログラムである学習モデル生成プログラム121およびクラス分類プログラム122を記憶する。また、記憶装置120は、コンピュータプログラムの実行時に利用または生成されるデータを記憶する。当該データは、正常データ123、異常データ124、中間データ125および学習モデル126を含む。各データの詳細については後述する。
【0054】
プロセッサ130は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等のコンピュータ100の制御に適合する種々のプロセッサより構成される。プロセッサ130は、記憶装置120に記憶された学習モデル生成プログラム121またはクラス分類プログラム122を読み出して実行する。なお、プロセッサ130は、学習モデル生成プログラム121またはクラス分類プログラム122が示す処理手順を実行するように構成されたDSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、またはASIC(Application Specific Integrated Circuit)等であってもよい。
【0055】
〔学習モデル生成システムの機能的構成〕
図3は、学習モデル生成システムの機能的な構成を示すブロック図である。学習モデル生成システム2は、データ生成装置および学習モデル生成装置を備える。
【0056】
データ生成装置10および学習モデル生成装置20の各々を構成する各処理部は、プロセッサ130が学習モデル生成プログラム121を実行することにより機能的に実現される。
【0057】
学習モデル生成装置20は、データ取得部11と、データ生成部12とを備える。
データ取得部11は、ロボットアーム200が正常動作している場合に加速度センサ221から出力されるX軸方向の加速度データを所定の時間間隔で取得する。データ取得部11は、取得した時系列の当該加速度データに当該加速度データが正常動作時に得られたことを示す正常ラベルを付与した上で、正常データ123として記憶装置120に記憶する。つまり、正常データ123は、複数の計測時刻において計測された時系列の加速度データを含む。
【0058】
また、データ取得部11は、ロボットアーム200が所定の異常動作をしている場合に加速度センサ221から出力されるX軸方向の加速度データを所定の時間間隔で取得する。データ取得部11は、取得した時系列の当該加速度データに当該加速度データが異常動作時に得られたこと示す異常ラベルを付与した上で、異常データ124として記憶装置120に記憶する。つまり、異常データ124は、複数の計測時刻において計測された時系列の加速度データを含む。
【0059】
正常データ123および異常データ124は、後述する学習モデル126によって正常クラスおよび異常クラスにそれぞれクラス分類されるべきデータである。つまり、正常データ123は正常クラスに属し、異常データ124は異常クラスに属する。
【0060】
データ生成部12は、データ取得部11が取得した正常データ123および異常データ124に基づいて、正常クラスおよび異常クラス以外の中間クラスに分類されるべき中間データを生成する。つまり、生成された中間データは中間クラスに属する。以下、中間データの生成方法について詳細に説明する。
【0061】
データ生成部12は、データ対応付け部12Aおよび中間データ生成部12Bを含む。
データ対応付け部12Aは、正常データ123および異常データ124の対応付けを行う。
【0062】
図4は、正常データ123および異常データ124の一例を示す図である。
図4は、加速度センサ221のY軸方向の加速度のグラフを示し、横軸が計測時刻を示し、縦軸が加速度を示す。
【0063】
正常データ123は、グラフ上で丸印で示される。折れ線300は、正常データ123を示す各点を直線で結んだものである。
【0064】
異常データ124は、グラフ上でバツ印で示される。折れ線400は、異常データ124を示す各点を直線で結んだものである。
【0065】
図5は、正常データ123および異常データ124の対応付けの結果を示す図である。
図5には、
図4と同様のグラフが示されている。
【0066】
データ対応付け部12Aは、対応点探索手法であるDTW(動的時間伸縮法:Dynamic Time Warping)を用いて正常データ123と異常データ124とを対応付ける。DTWは、2つの時系列データ間の対応点を探索し、時系列データ間の距離を求める手法である。
【0067】
ここで、正常データ123をX={x0,x1,・・・,xN}とする。xi(i=0~N)は正常データ123のデータ点であり、(N+1)は正常データ123のデータ点の個数である。
【0068】
また、異常データ124をY={y0,y1,…,yM}とする。yi(i=0~M)は異常データ124のデータ点であり、(M+1)は異常データ124のデータ点の個数である。
【0069】
以下の条件1および条件2を満たすワーピングパスw={w(0),…,w(P)}の集合をWとする。
(条件1)w(0)=(x
0,y
0),w(P)=(x
N,y
M)
(条件2)w(k-1)=(x
i,y
j)のとき:
(i)i<N,j<Mのとき、w(k)は次のいずれかである。
【数1】
(ii)i=N,j<Mのとき w(k-1)=(x
N,y
(j+1))
(iii)i<N,j=Mのとき w(k-1)=(x
(i+1),y
M)
【0070】
このとき、DTW距離は以下の式1で定義される。
【数2】
ここで、δ(w(k))は、w(k)を構成するデータx
kおよびデータy
k間の距離である。
【0071】
データ対応付け部12Aは、式1で示されるDTW距離を最小にするワーピングパスw={w(0),…,w(P)}={(x0,y0),…,(xN,xM)}を求める。データ対応付け部12Aは、DTW距離が最小のワーピングパスwを求めることにより、w(k)を正常データ123と異常データ124との対応付けの結果として決定する。つまり、データ対応付け部12Aは、w(k)に示される正常データxkと異常データykとを対応付ける。
【0072】
図5を参照して、例えば、直線600で接続された正常データ123および異常データ124同士が、データ対応付け部12Aによって対応付けられる。
【0073】
中間データ生成部12Bは、データ対応付け部12Aによって対応付けられたデータの組ごとに、当該組に基づく補間処理により中間データを生成する。
【0074】
図6は、中間データの生成処理を説明するための図である。
図6には、
図5と同様のグラフが示されている。
【0075】
中間データ生成部12Bは、データ対応付け部12Aによって対応付けられた正常データ123および異常データ124を接続する直線600の中点を算出し、算出した中点を中間データ501として生成する。折れ線500は、中間データ501を示す各点を直線で結んだものである。
【0076】
例えば、正常データ123によって示される加速度がαxであり、加速度αxの計測時刻がtxであるとする。また、異常データ124によって示される加速度がαyであり、加速度αyの計測時刻がtyであるとする。この場合、中間データ生成部12Bは、以下の式2により中間データ501の加速度αMを算出し、以下の式3により加速度αMの計測時刻tMを算出する。
αM=(αx+αy)/2 …(式2)
tM=(tx+ty)/2 …(式3)
【0077】
中間データ生成部12Bは、算出した時系列の加速度αMを計測時刻tMとともに中間データ125として記憶装置120に記憶する。その際、中間データ生成部12Bは、加速度αMに、加速度αMが正常データ123と異常データ124の中間的なデータであることを示す中間ラベルを付与して、記憶装置120に記憶する。
【0078】
中間データ125は、正常動作と異常動作との間の中間的な状態の動作をロボットアーム200が行った場合の加速度センサ221のY軸方向の加速度と考えることができる。このため、中間データ125は、異常に準じる状態、つまり、ロボットアーム200が異常の予兆を表す状態において動作を行った場合の加速度センサ221のY軸方向の加速度と考えることができる。別言すれば、中間データ125は、異常データ124と比較して異常レベルが低い異常状態を表すデータと考えることができる。ここで、異常レベルとは、異常の程度を表すものとする。例えば、正常データ123からの乖離が大きい(例えば、DTW距離が大きい)データほど、異常レベルが高い(異常の程度が高い)ものとする。
【0079】
再び
図3を参照して、学習モデル生成装置20は、データ取得部21と、学習モデル生成部22とを備える。
データ取得部21は、記憶装置120から正常データ123、異常データ124および中間データ125を読み出すことにより、これらのデータを取得する。
【0080】
学習モデル生成部22は、データ取得部21が取得した正常データ123、異常データ124および中間データ125を教師データとして用いて、入力データを正常クラス、異常クラスおよび中間クラスのいずれかに分類する学習モデル126を生成する。
【0081】
学習モデル126は、例えば、TSF(Time Series Forest)により学習された分類器である。TSFとは、ランダムフォレスト法により分類を行う教師あり学習手法である。なお、学習モデル126は、上記分類器に限定されるものではない。学習モデル126は、例えば、ディープラーニングなどの手法により機械学習されたCNN(Convolutional Neural Network)またはRNN(Recurrent Neural Network)であってもよいし、SVM(Support Vector Machine)であってもよい。また、学習モデル126は、k近傍法の機械学習モデルであってもよいし、One-class SVMであってもよい。
【0082】
学習モデル生成部22は、分類した時系列の正常データ123、異常データ124および中間データ125の各々を所定の周期ごとに切り分ける。ここで、1周期は、例えば、ロボットアーム200がホームポジションから動作を開始し、ホームポジションに戻るまでの時間としてもよいし、所定の時間幅としてもよい。学習モデル生成部22は、時系列の正常データ123、異常データ124および中間データ125の各々について、1周期内から幅と開始時点をランダムに選んだウィンドウを複数個抽出し、各ウィンドウ内のデータ点の統計量(例えば、平均値、標準偏差、勾配(最小2乗法の傾き)、最大値、最小値、データの範囲、尖度、歪度)を求める。学習モデル生成部22は、これらの統計量を特徴量として複数の決定木を作成し、各決定木から得られるクラス分類結果の多数決を求めるモデルを学習モデル126として生成し、生成した学習モデル126を記憶装置120に記憶する。
【0083】
〔クラス分類装置の機能的構成〕
図7は、クラス分類装置の機能的な構成を示すブロック図である。
クラス分類装置30は、入力データ取得部31と、クラス分類部32とを備える。入力データ取得部31およびクラス分類部32は、プロセッサ130がクラス分類プログラム122を実行することにより機能的に実現される。
【0084】
入力データ取得部31は、学習モデル126に入力する入力データを取得する。具体的には、入力データ取得部31は、加速度センサ221から、加速度センサ221から出力されるY軸方向の加速度データを所定の時間間隔で取得する。入力データ取得部31は、1周期分の加速度データを取得する。ここで、1周期は、例えば、ロボットアーム200がホームポジションから動作を開始し、ホームポジションに戻るまでの時間としてもよいし、所定の時間幅としてもよい。入力データ取得部31は、時系列の加速度データから複数個のウィンドウを抽出し、各ウィンドウ内のデータ点の統計量(平均値、標準偏差、勾配(最小2乗法の傾き))を、入力データとして算出することにより、入力データを取得する。
【0085】
クラス分類部32は、入力データ取得部31が取得した入力データを、学習モデル126に入力することにより、入力データを、正常クラス、異常クラスおよび中間クラスのいずれかに分類する。
【0086】
〔学習モデル生成処理の手順〕
図8は、データ生成装置10および学習モデル生成装置20が実行する学習モデル生成処理の一例を示すフローチャートである。
【0087】
データ生成装置10は、ロボットアーム200が正常動作を行った際に加速度センサ221から出力されるY軸方向の時系列の加速度を正常データ123として取得する(ステップS11)。データ生成装置10は、例えば、ロボットアーム200がホームポジションから動作を開始し、ホームポジションに戻るまでの時間における正常データ123を取得する。
【0088】
データ生成装置10は、ロボットアーム200が異常動作を行った際に加速度センサ221から出力されるY軸方向の時系列の加速度を異常データ124として取得する(ステップS12)。ここでの異常動作とは、例えば、ロボットアーム200を制御する制御装置がサイバー攻撃を受けて、制御装置からの指令値が改ざんされた場合におけるロボットアーム200の動作を指す。データ生成装置10は、例えば、ロボットアーム200がホームポジションから動作を開始し、ホームポジションに戻るまでの時間における異常データ124を取得する。
【0089】
データ生成装置10は、ステップS11において取得された正常データ123と、ステップS12において取得された異常データ124とから、正常データ123および異常データ124の中間的なデータである中間データ125を生成する(ステップS13)。中間データ125は、異常動作に準じる動作をロボットアーム200が行った際の加速度データとも考えられるため、異常データ124を第1異常データとし、中間データ125を第2異常データとしてもよい。また、異常データ124(第1異常データ)が属するクラスを第1異常クラスとし、中間データ125(第2異常データ)が属するクラスを第2異常クラスとしてもよい。
【0090】
学習モデル生成装置20は、ステップS11からステップS13においてそれぞれ取得された正常データ123、異常データ124および中間データ125を教師データとして用いて、入力データを正常クラス、異常クラスおよび中間クラスのいずれかに分類する学習モデル126を生成する(ステップS14)。
【0091】
〔異常判定処理の手順〕
図9は、クラス分類装置30が実行する異常判定処理の一例を示すフローチャートである。
クラス分類装置30は、ロボットアーム200の動作時に加速度センサ221から出力されるY軸方向の時系列の加速度を取得し、学習モデル126の入力データを算出することにより、入力データを取得する(ステップS21)。クラス分類装置30は、例えば、ロボットアーム200がホームポジションから動作を開始し、ホームポジションに戻るまでの時間における加速度を取得し、上記入力データを算出する。
【0092】
クラス分類装置30は、ステップS21において取得された入力データを学習モデル126に入力し、入力データを、正常クラス、異常クラスおよび中間クラスのいずれかに分類する(ステップS22)。入力データが正常クラスに分類された場合には、ロボットアーム200が正常動作をしていると判断することができる。入力データが異常クラスに分類された場合には、サイバー攻撃によりロボットアーム200が異常動作をしていると判断することができる。入力データが中間クラスに分類された場合には、ロボットアーム200が異常動作に準ずる動作をしていると判断することができる。
【0093】
以上説明したように本開示の実施形態によると、正常データ123に加えて現実に発生した異常データ124を利用して中間データ125を生成している。このため、現実的に発生し得る中間データ125を生成することができる。これにより、異常データ124とは異常レベルの異なる中間データ125を生成することができる。
【0094】
また、正常データ123および異常データ124の中間的なデータである中間データ125を生成することができる。これにより、例えば、正常動作および異常動作の中間的な動作に対応したデータを生成することができる。
【0095】
また、データ生成装置10はDTWを用いて正常データ123と異常データ124とを対応付けている。このため、正常データ123および異常データ124の時間長や、正常データ123および異常データ124に含まれるデータ数が異なる場合でも、各時刻の正常データ123および異常データ124を正確に対応付けることができる。これにより、現実的に発生し得る中間データ125を生成することができる。
【0096】
また、正常データ123、異常データ124および中間データ125を分類することのできる学習モデル126を生成することができる。これにより、現実的に発生し得る中間データ125を正確に分類することができる。また、複数の異常レベルの異常データを正確に分類することができる。
【0097】
[変形例1]
上述の実施形態では、正常データ123および異常データ124として、加速度センサ221が出力するY軸方向の加速度データを用いたが、加速度センサ221が出力するX軸方向およびZ軸方向の各々の加速度データについても同様に学習モデル126を生成することができる。また、加速度センサ222が出力するX軸方向、Y軸方向およびZ軸方向の各々の加速度データについても同様に学習モデル126を生成することができる。
【0098】
また、正常データ123および異常データ124は、これら複数の加速度データを組み合わせたベクトルデータとしてもよい。例えば、正常データ123および異常データ124は、加速度センサ221が出力する3つの軸方向の加速度データと加速度センサ222が出力する3つの軸方向の加速度データとをベクトルの要素とするベクトルデータであってもよい。
【0099】
また、加速度センサ221,222の代わりに、または、加速度センサ221,222とともに、ジャイロセンサ、位置センサ、電圧センサ、電流センサ、速度センサ、角度センサ、磁気センサまたは温度センサなどの他のセンサを用いてもよい。この場合、他のセンサの出力するセンサ値(例えば、ジャイロセンサの出力する角速度、位置センサの出力する位置、電圧センサの出力する電圧、電流センサの出力する電流、速度センサの出力する速度、角度センサの出力する角度、磁気センサの出力する磁場、温度センサの出力する温度)を加速度データと同様に取り扱い、学習モデル126を生成し、入力されたセンサ値から異常判定を行ってもよい。
【0100】
つまり、正常データ123、異常データ124および中間データ125は、ロボットアーム200の加速度、角速度、位置、電圧、電流、速度、角度、磁場および温度の少なくとも1つを含んでもよい。
【0101】
本変形例によると、ロボットアーム200の加速度、角速度、位置、電圧、電流、速度、角度、磁場および温度の少なくとも1つについて、現実的に発生し得る中間データ125を生成することができる。
【0102】
[変形例2]
上述の実施形態では、中間データ生成部12Bは、データ対応付け部12Aによって対応付けられた正常データ123および異常データ124を接続する直線600の中点を中間データ501として生成した。中間データ501の生成方法はこれに限定されるものではない。
【0103】
例えば、中間データ生成部12Bは、直線600上で正常データ123および異常データ124からの距離を1:2に内分する点を中間データ501としてもよい。また、内分の比率は1:2に限定されるものではない。
【0104】
さらに、中間データ生成部12Bは、直線600上で複数の内分点を求め、内分の比率ごとに中間データ501を生成してもよい。例えば、中間データ生成部12Bは、正常データ123および異常データ124からの距離が1:2になるように直線600を内分する点を第1中間データとして生成する。また、中間データ生成部12Bは、正常データ123および異常データ124からの距離が2:1になるように直線600を内分する点を第2中間データとして生成する。ここで、第1中間データが属するクラスを第1中間クラスとし、第2中間データが属するクラスを第2中間クラスとする。この場合、学習モデル生成部22は、正常データ123、異常データ124、第1中間データおよび第2中間データを教師データとして用いて、入力データを正常クラス、異常クラス、第1中間クラスおよび第2中間クラスのいずれかに分類する学習モデル126を生成する。
【0105】
また、中間データ生成部12Bは、中間データ501の代わりに、直線600を外分する外分データを生成してもよい。例えば、中間データ生成部12Bは、正常データ123および異常データ124からの距離が3:1になるように直線600を外分する点を外分データとして生成する。ここで、外分データが属するクラスを外分クラスとする。この場合、学習モデル生成部22は、正常データ123、異常データ124および外分データを教師データとして用いて、入力データを正常クラス、異常クラスおよび外分クラスのいずれかに分類する学習モデル126を生成する。外分クラスに分類される入力データは、異常クラスに分類される入力データに比べて異常のレベルが高い異常状態を表すデータと考えることができる。
【0106】
なお、中間データ生成部12Bは、中間データ501とともに、直線600を外分する外分データを生成するものであってもよい。この場合、上記と同様に、学習モデル生成部22は、入力データを正常クラス、異常クラス、中間クラスおよび外分クラスのいずれかに分類する学習モデル126を生成する。
【0107】
[変形例3]
上述の実施形態ではデータ対応付け部12Aは、DTWを用いて正常データ123と異常データ124とを対応付けたが、他の対応点探索手法を用いて正常データ123と異常データ124とを対応付けてもよい。
【0108】
例えば、DTWを改良したDDTW(Derivative Dynamic Time Warping)を用いて対応付けを行ってもよい。DDTWは、DTWでの対応点探索の際に増加または減少のトレンドを考慮したものである。
【0109】
ここで、正常データ123をX={x0,x1,…,xN}とする。xi(i=0~N)は正常データ123のデータ点であり、(N+1)は正常データ123のデータ点の個数である。
【0110】
また、異常データ124をY={y0,y1,…,yM}とする。yi(i=0~M)は異常データ124のデータ点であり、(M+1)は異常データ124のデータ点の個数である。
【0111】
データ対応付け部12Aは、以下の式4に従いx´
i(i=1~N-1)を算出することにより新しい正常データX´={x´
1,x´
2,…,x´
N-1}を生成する。また、データ対応付け部12Aは、以下の式5に従いy´
i(i=1~M-1)を算出することにより新しい異常データY´={y´
1,y´
2,…,y´
M-1}を生成する。
【数3】
【0112】
データ対応付け部12Aは、正常データX´および異常データY´に対して、DTWを用いて対応点を探索する。データ対応付け部12Aは、x´iとy´iとが対応付けられた場合、元の正常データXおよび異常データYにおいてxiとyiとを対応付ける。なお、本変形例では、左端同士(x0とy0)および右端同士(xNとyM)が対応しているものとする。
【0113】
[変形例4]
上述の実施形態ではデータ対応付け部12Aは、DTWを用いて正常データ123と異常データ124とを対応付けたが、他の対応点探索手法を用いて正常データ123と異常データ124とを対応付けてもよい。
【0114】
例えば、データ対応付け部12Aは、同時刻の正常データ123および異常データ124を対応付けてもよい。
【0115】
ここで、正常データ123をX={x0,x1,…,xN}とする。xi(i=0~N)は正常データ123のデータ点であり、(N+1)は正常データ123のデータ点の個数である。
【0116】
また、異常データ124をY={y0,y1,…,yN}とする。yi(i=0~N)は異常データ124のデータ点であり、(N+1)は異常データ124のデータ点の個数である。つまり、正常データ123のデータ点の個数と異常データ124のデータ点の個数とは同じである。
【0117】
xiの計測時刻とyiの計測時刻が同じであるとした場合、データ対応付け部12Aは、xiとyiとを対応付ける(i=0~N)。なお、正常データ123のデータ点の個数と異常データ124のデータ点の個数とは異なる場合は、時間的に最も近い正常データ123のデータ点と異常データ124のデータ点とを対応付けてもよい。
【0118】
中間データ生成部12Bは、データ対応付け部12Aによって対応付けられたデータの組ごとに、当該組に基づく補間処理により中間データを生成する。
【0119】
図10は、中間データの生成処理を説明するための図である。
図10は、加速度センサ221のY軸方向の加速度のグラフを示し、横軸が計測時刻を示し、縦軸が加速度を示す。
【0120】
正常データ123は、グラフ上で丸印で示される。折れ線300は、正常データ123を示す各点を直線で結んだものである。
【0121】
異常データ124は、グラフ上でバツ印で示される。折れ線400は、異常データ124を示す各点を直線で結んだものである。
データ対応付け部12Aによって、同時刻の正常データ123および異常データ124が対応付けられる。つまり、直線600で接続された正常データ123および異常データ124同士が、データ対応付け部12Aによって対応付けられる。
【0122】
中間データ生成部12Bは、データ対応付け部12Aによって対応付けられた正常データ123および異常データ124を接続する直線600の中点を算出し、算出した中点を中間データ501として生成する。折れ線500は、中間データ501を示す各点を直線で結んだものである。
【0123】
中間データ501の生成方法の一例は、式2および式3を用いて説明したとおりである。
【0124】
また、中間データ生成部12Bは、直線600を他の比率で内分する点を中間データ501として生成してもよいし、中間データ501の直線600を外分する外分データを生成してもよい。これらのデータの生成方法については、上述したとおりである。
【0125】
変形例4によると、簡便な方法により各時刻の正常データ123と各時刻の異常データ124を対応付けることができる。
【0126】
[変形例5]
上述の実施形態では、ロボットアーム200の異常動作の例として、ロボットアーム200を制御する制御装置がサイバー攻撃を受けて、制御装置からの指令値が改ざんされた場合におけるロボットアーム200の動作について説明した。ただし、異常動作の種類はこれに限定されるものではない。例えば、異常動作の種類は、ロボットアーム200と他の物体との物理的な干渉、ロボットアーム200の誤操作、ロボットアーム200の故障などを含む。
【0127】
データ生成装置10は、異常動作の種類ごとに異常データ124を取得し、異常動作の種類ごとに中間データ125を生成する。学習モデル生成装置20は、正常データ123と、複数種類の異常データ124と、複数種類の中間データ125とを教師データとして用いて、入力データを、正常クラス、複数種類の異常クラスおよび複数種類の中間クラスのうちのいずれか1つのクラスに分類する学習モデル126を生成する。
これにより、異常の有無のみならず、異常の種類を判定することができる。
【0128】
[付記]
以上、本開示の実施形態に係る生産システム1について説明したが、本開示は、この実施形態に限定されるものではない。
【0129】
例えば、ロボットアーム200以外の他の装置(例えば、プラント制御装置またはベルトコンベア)についても本開示は適用可能である。つまり、データ生成装置10は、他の装置から取得した正常データおよび異常データから中間データを生成する。学習モデル生成装置20は、正常データ、異常データおよび中間データから学習モデルを生成する。これにより、他の装置から取得した入力データを学習モデルに入力することにより、当該装置が異常動作をしているかを判定することができる。
【0130】
また、上記の各装置を構成する構成要素の一部または全部は、1または複数のシステムLSI(Large Scale Integration)などの半導体装置から構成されていてもよい。
【0131】
また、上記したコンピュータプログラムを、コンピュータ読取可能な非一時的な記録媒体、例えば、HDD、CD-ROM、半導体メモリなどに記録して流通させてもよい。また、コンピュータプログラムを、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送して流通させてもよい。
また、上記各装置は、複数のコンピュータまたは複数のプロセッサにより実現されてもよい。
【0132】
また、上記各装置の一部または全部の機能がクラウドコンピューティングによって提供されてもよい。つまり、各装置の一部または全部の機能がクラウドサーバにより実現されていてもよい。
さらに、上記実施形態および上記変形例の少なくとも一部を任意に組み合わせてもよい。
【0133】
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0134】
1 生産システム
2 学習モデル生成システム
10 データ生成装置
11 データ取得部(第1データ取得部)
12 データ生成部
12A データ対応付け部
12B 中間データ生成部
20 学習モデル生成装置
21 データ取得部(第2データ取得部)
22 学習モデル生成部
30 クラス分類装置
31 入力データ取得部
32 クラス分類部
100 コンピュータ
110 I/F部
120 記憶装置
121 学習モデル生成プログラム
122 クラス分類プログラム
123 正常データ
124 異常データ
125 中間データ
126 学習モデル
130 プロセッサ
140 バス
200 ロボットアーム
201 ベース
202 ジョイント
203 ジョイント
204 ジョイント
211 リンク
212 リンク
213 リンク
214 エンドエフェクタ
221 加速度センサ
222 加速度センサ
231 第1破線部
232 第2破線部
300 折れ線
400 折れ線
500 折れ線
501 中間データ
600 直線