JP2022077227A - 異常判定プログラム、異常判定方法および異常判定装置 - Google Patents

異常判定プログラム、異常判定方法および異常判定装置 Download PDF

Info

Publication number
JP2022077227A
JP2022077227A JP2020187980A JP2020187980A JP2022077227A JP 2022077227 A JP2022077227 A JP 2022077227A JP 2020187980 A JP2020187980 A JP 2020187980A JP 2020187980 A JP2020187980 A JP 2020187980A JP 2022077227 A JP2022077227 A JP 2022077227A
Authority
JP
Japan
Prior art keywords
timing
abnormality
abnormality determination
sensing
feature quantities
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020187980A
Other languages
English (en)
Inventor
泰斗 横田
Yasuto Yokota
彼方 鈴木
Kanata Suzuki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2020187980A priority Critical patent/JP2022077227A/ja
Priority to US17/408,077 priority patent/US20220143833A1/en
Publication of JP2022077227A publication Critical patent/JP2022077227A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2433Single-class perspective, e.g. one-against-all classification; Novelty detection; Outlier detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/77Determining position or orientation of objects or cameras using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20076Probabilistic image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Robotics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】機器のセンシングにおける異常の有無を特定する。【解決手段】実施形態の異常判定プログラムは、生成する処理と、比較する処理と、判定する処理とをコンピュータに実行させる。生成する処理は、機械学習モデルが生成した第1のタイミングの機器の第1の動作情報と、第1のタイミングにおいて機器をセンシングして得られた第1の複数の特徴量とに基づいて、機械学習モデルを用いて、第1のタイミングより後の第2のタイミングの第2の動作情報と第2の複数の特徴量の推定値とを生成する。比較する処理は、第2のタイミングにおいて第2の動作状態に基づいて機器の動作を制御し、第2のタイミングにおいて機器をセンシングして得られた第2の複数の特徴量と、生成された第2の複数の特徴量の推定値とを比較する。判定する処理は、比較する処理の結果に基づいて、異常の有無を判定する。【選択図】図1

Description

本発明の実施形態は、異常判定技術に関する。
近年、産業用の機械やロボットアームにおける制御においては、ティーチング作業を減らすためにRNN(Recurrent Neural Network)やLSTM(Long Short-Term Memory)などの回帰型ニューラルネットワークの導入が進んでいる。
この回帰型ニューラルネットワークを用いた機器制御においては、回帰型ニューラルネットワークが予測した機器の姿勢情報の推定値と、実際の姿勢情報の履歴との誤差に基づいて機器の異常な状態を検知する従来技術が知られている。
しかしながら、上記の従来技術では、機器の姿勢に異常が生じていることを検知できるが、機器のセンシングにおける異常の有無までを特定することが困難であるという問題がある。
1つの側面では、機器のセンシングにおける異常の有無を特定できる異常判定プログラム、異常判定方法および異常判定装置を提供することを目的とする。
1つの案では、異常判定プログラムは、生成する処理と、比較する処理と、判定する処理とをコンピュータに実行させる。生成する処理は、機械学習モデルが生成した第1のタイミングの機器の第1の動作情報と、第1のタイミングにおいて機器をセンシングして得られた第1の複数の特徴量とに基づいて、機械学習モデルを用いて、第1のタイミングより後の第2のタイミングの第2の動作情報と第2の複数の特徴量の推定値とを生成する。比較する処理は、第2のタイミングにおいて第2の動作状態に基づいて機器の動作を制御し、第2のタイミングにおいて機器をセンシングして得られた第2の複数の特徴量と、生成された第2の複数の特徴量の推定値とを比較する。判定する処理は、比較する処理の結果に基づいて、異常の有無を判定する。
機器のセンシングにおける異常の有無を特定できる。
図1は、実施形態の概要を説明する説明図である。 図2は、ロボットアームの一例を説明する説明図である。 図3は、第1の実施形態にかかる異常判定装置の機能構成例を示すブロック図である。 図4は、第1の実施形態にかかる異常判定装置の事前作業の一例を示すフローチャートである。 図5は、第1の実施形態にかかる異常判定装置の動作例を示すフローチャートである。 図6は、第2の実施形態にかかる異常判定装置の機能構成例を示すブロック図である。 図7は、異常箇所の可視化を説明する説明図である。 図8は、コンピュータ構成の一例を説明する説明図である。
以下、図面を参照して、実施形態にかかる異常判定プログラム、異常判定方法および異常判定装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する異常判定プログラム、異常判定方法および異常判定装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
図1は、実施形態の概要を説明する説明図である。図1に示すように、本実施形態は、機器の一例としてのロボットアーム100における制御をRNNやLSTMなどの回帰型ニューラルネットワークである機械学習モデルM1を用いて行う際の、異常の有無を判定するものである。なお、制御の対象とする機器は、ロボットアーム100に限定しない。例えば、自動旋盤における制御軸の位置、加工物の送り速度、加工速度などの制御を機械学習モデルM1を用いて行ってもよい。
図2は、ロボットアーム100の一例を説明する説明図である。図2に示すように、ロボットアーム100は、軸J1~J6の自由度を有する産業用ロボットアームである。このように、自由度の高いロボットアーム100は、アーム先端位置の空間座標では姿勢が一意に定まらない。このため、事前に動作ごとにアームの軌道を決定した上で、その動作状態を実現する動作情報としてロボットアーム100の姿勢(軸J1~J6それぞれの角度の変化)を示す姿勢情報(軸J1に対応するm1,軸J2に対応するm2…)を予測する機械学習モデルM1が機械学習によって作成される。
図1に示すように、本実施形態では、ロボットアーム100の動作制御の際に、ロボットアーム100をセンシングして得られたセンシングデータより、オートエンコーダ(AE:AutoEncoder)などが特徴量を抽出する(S1)。例えば、本実施形態では、現在時刻をtとしたとき、時刻tにおけるロボットアーム100を含む周囲の外観を撮像(センシング)した画像D1より、オートエンコーダが特徴量(f1)を抽出する。なお、オートエンコーダを用いる場合は、画像D1をオートエンコーダに入力して中間層から得られた値(潜在変数)を特徴量(f1)とする(任意の時刻である場合は添字のtは省略する)。この特徴量f1は、時刻t(現在)においてロボットアーム100をセンシングして得られた複数の特徴量の1つである。
なお、特徴量f1については、ロボットアーム100を撮像した画像D1から抽出するものに限定するものではない。例えば、特徴量f1は、ロボットアーム100に設置されたカメラで撮像した画像、すなわちロボットアーム100からの視点で撮像した画像から抽出してもよい。また、特徴量fは、ロボットアーム100に設置された位置センサー、加速度センサーなどの各種センサーのセンサデータまたはこのセンサデータからAE等を介して抽出したデータ(例えばf2など)複数あるものとする。
本実施形態では、時刻t(現在)においてロボットアーム100をセンシングして得られた特徴量(f1,f2,…)と、ロボットアーム100の姿勢情報(m1,m2,m3…)とを機械学習モデルM1に入力する。機械学習モデルM1は、自身が直近に予測した特徴量および姿勢情報の推定値を回帰して用いるとともに、入力された現在の特徴量(f1,f2,…)および姿勢情報(m1,m2,m3…)をもとに、1ステップ後の特徴量(f1t+1,f2t+1,…)および姿勢情報(m1t+1,m2t+1,m3t+1…)を予測する。
本実施形態では、予測した1ステップ後の姿勢情報(m1t+1,m2t+1,m3t+1…)をロボットアーム100へ送信する。これにより、本実施形態では、例えば送信した姿勢情報の位置へロボットアーム100を移動させる。
また、機械学習モデルM1が予測した1ステップ後の特徴量(f1t+1,f2t+1,…)および姿勢情報(m1t+1,m2t+1,m3t+1…)については、メモリなどに格納して保存しておく(S2)。
ついで、本実施形態では、既に保存済みの1ステップ前の推定値(特徴量(f1,f2,…)および姿勢情報(m1,m2,m3…))をメモリより読み出す。ついで、本実施形態では、時刻tにおける特徴量と姿勢情報の実績(f1,f2…,m1,m2,m3…)それぞれと、1ステップ前の推定値それぞれとを比較して誤差を算出する(S3)。すなわち、本実施形態では、機械学習モデルM1の出力ノード(f1,f2…,m1,m2,m3…)ごとに、特徴量と姿勢情報の実績と推定値とを比較して出力ノードごとの誤差を算出する。
ついで、本実施形態では、機械学習モデルM1の出力ノード(f1,f2…,m1,m2,m3…)ごとの誤差に基づいて、出力ノードごとの異常の有無を判定する(S4)。
具体的には、本実施形態では、出力ノードごとの誤差を、複数ステップで累計(または平均)したものを異常度として算出する。ついで、本実施形態では、算出した異常度が予め設定した閾値を超えた場合に、その出力ノードの情報元の箇所(例えば撮像した画像、加速度センサー、各軸の姿勢)に異常(または異常となる前兆)が発生したものと判定する。このように、本実施形態では、機械学習モデルM1の出力ノード(f1,f2…)に対応する異常度をもとに、ロボットアーム100のセンシングにおける異常(または異常となる前兆)の有無を特定できる。
(第1の実施形態)
図3は、第1の実施形態にかかる異常判定装置の機能構成例を示すブロック図である。図3に示すように、異常判定装置1は、AE10、LSTM11、格納部12、誤差算出部13、異常度算出部14、異常判定部15および出力部16を有する。
AE10は、ロボットアーム100を撮像する加速度センサー101の画像D1より特徴量(f1)を抽出する。AE10が抽出した特徴量(f1)は、加速度センサー101のセンサーデータ(f2)とともにLSTM11に入力される。
LSTM11は、機械学習モデルM1に対応する回帰型ニューラルネットワークの一例である。LSTM11は、AE10が抽出した特徴量(f1)、加速度センサー101のセンサーデータ(f2)およびロボットアーム100の軸J1~J6に対応して設けられたセンサ(例えばエンコーダ)からの各軸の姿勢情報(m1,m2…)の入力を受け付ける。ついで、LSTM11は、自身が直近に予測した特徴量(f1,f2,…および姿勢情報(m1,m2…)の推定値を回帰して用いるとともに、入力された現在の特徴量(f1,f2…)および姿勢情報(m1,m2…)をもとに将来の特徴量(f1,f2…)および姿勢情報(m1,m2…)の推定値を出力する。
異常判定装置1は、LSTM11が予測した姿勢情報(m1,m2…)を移動先の姿勢情報としてロボットアーム100へ送信する。これにより、異常判定装置1は、移動先の姿勢情報の位置へロボットアーム100を移動させる。
格納部12は、LSTM11が予測した特徴量(f1,f2…)および姿勢情報(m1,m2…)の推定値を格納するメモリなどである。
誤差算出部13は、LSTM11の出力ノード(f1,f2…,m1,m2…)ごとに、推定値と実績値との誤差を算出する処理部である。具体的には、誤差算出部13は、前のステップの推定値(f1,f2…,m1,m2…)を格納部12より読み出し、特徴量と姿勢情報の実績(f1,f2…,m1,m2…)と比較して誤差を算出する。
異常度算出部14は、誤差算出部13が算出した、LSTM11の出力ノード(f1,f2…,m1,m2…)ごとの推定値と実績値との誤差を、それぞれ複数ステップで累計(または平均)して異常度を算出する。例えば、異常度算出部14は、LSTM11の出力ノード(f1,f2…,m1,m2…)ごとの誤差について、直近の複数ステップ(例えば100ステップ)の間の値を累計して平均二乗誤差を算出する。
異常判定部15は、異常度算出部14がLSTM11の出力ノード(f1,f2…,m1,m2…)ごとに算出した異常度をもとに、出力ノードそれぞれの異常の有無を判定する処理部である。具体的には、異常判定部15は、予め設定された設定情報20に含まれる異常度の判別のための閾値と、出力ノード(f1,f2…,m1,m2…)ごとの異常度とを比較し、閾値を超えた出力ノードに異常(または異常となる前兆)が有るものと判定する。例えば、異常判定部15は、第1の閾値を超えた場合は異常となる前兆ありと判定し、第1の閾値よりも大きな第2の閾値を超えた場合は異常ありと判定してもよい。
ついで、異常判定部15は、設定情報20に含まれるLSTM11の出力ノードと特徴量(画像、加速度センサ…)および姿勢情報(軸J1、J2…)との対応関係を参照し、異常ありと判定した出力ノードに対応する異常箇所(画像、加速度センサ…、軸J1、J2…)を特定する。ついで、異常判定部15は、上記の異常の判定結果を出力部16へ通知する。
出力部16は、異常判定部15の判定結果をディスプレイへの表示や音声出力などで出力する処理部である。具体的には、出力部16は、異常判定部15が異常ありと判定した出力ノードに対応する異常箇所をディスプレイなどに表示する。これにより、ユーザは、異常箇所を容易に特定することができる。
図4は、実施形態にかかる異常判定装置1の事前作業の一例を示すフローチャートである。図4に示すように、事前作業においては、まず、ロボットアーム100に動作として学習させたい動作パターンを十数例程度、手動で操作する。異常判定装置1では、この操作時における加速度センサー101の画像D1、加速度センサー101のセンサデータおよびロボットアーム100の姿勢情報(m1、m2…)をセットにして教示データを作成する(S10)。
例えば、ホームポジション→テーブルの上のボルトを把持→脇の箱の中にボルトを置く→ホームポジションとする1つの動作パターンについて、20セット手動で操作する。これにより、異常判定装置1は、20セット(1セットあたり約500ステップ)=10000ステップ分の教示データを生成する。
ついで、事前作業では、教示データに含まれる画像D1をもとに、異常判定装置1は、AE10の機械学習を行う(S11)。具体的には、S10で作成した教示データの画像D1をAE10に入力し、AE10の入力と出力との誤差が小さくなるように(AE10の出力が入力した画像D1と同じになるように)AE10のパラメータが更新される。
例えば、10000ステップ分の教示データに含まれる10000枚の画像D1について、300×300pixに解像度を落としたもので、訓練数を300エポックとしてAE10を訓練する。
異常判定装置1では、S11による学習後のAE10における中間層の値(潜在変数)をLSTM11に入力する特徴量(f1)とする。
ついで、事前作業では、異常判定装置1は教示データに含まれる画像D1の特徴量(f1)、加速度センサー101のセンサデータ(f2)と、ロボットアーム100の姿勢情報(m1,m2…)とをもとにLSTM11の学習を行う(S12)。
具体的には、時刻(t)のステップの教示データを使って、時刻(t+1)のステップの教示データの値を予測できるようにLSTM11を学習する。このとき、教示データの画像D1についてはAE10に入力し、AE10から抽出した特徴量(f1)をLSTM11の入力とする。また、対応する教示データに含まれる加速度センサー101のセンサデータ(f2)、姿勢情報(m1,m2…)は、直接LSTM11に入力する。正解は、1ステップ後の教示データ(特徴量(f1,f2…)および姿勢情報(m1,m2…))とする。
ついで、事前作業では、異常判定装置1は判定に用いる異常度の閾値を設定し設定情報20として登録する(S13)。具体的には、S13では、ロボットアーム100を正常に1回動させ、その間の各ステップの異常度を算出する。今回は、LSTM11の各出力ノード(f1,f2…m1,m2…)に対して、異常度が最大だったステップの値の1.2倍を、そのノードの閾値と設定する。
図5は、実施形態にかかる異常判定装置1の動作例を示すフローチャートである。図5に示すように、処理が開始されると、処理が開始されると、異常判定装置1は、画像、センサーの特徴量(f1,f2…)とロボットアーム100の姿勢情報(m1,m2…)をLSTM11に入力する(S20)。
ついで、LSTM11は、次のステップの特徴量(f1,f2…)および姿勢情報(m1,m2…)の推定値を出力し、格納部12に保存する(S21)。
ついで、異常判定装置1は、LSTM11による姿勢情報(m1,m2…)の推定値を目標値としてロボットアーム100に送信する(S22)。
ついで、誤差算出部13は、特徴量と姿勢情報の実績値と、前のステップで格納部12に保存した推定値とを、LSTM11の各出力ノードで比較する(S23)。ついで、誤差算出部13は、各出力ノードで比較をもとに、各ノードの誤差を算出する(S24)。
ついで、異常度算出部14は、誤差算出部13が算出した各出力ノードの誤差をもとに、複数ステップで累計(または平均)して各出力ノードの異常度を算出する(S25)。
ついで、異常判定部15は、異常度算出部14が算出した各出力ノードの異常度をもとに、設定情報20に設定された閾値を超えたノードが有るか否かを判定する(S26)。閾値を超えたノードがない場合(S26:No)、異常判定部15はS29へ処理を進める。
閾値を超えたノードが有る場合(S26:Yes)、異常判定部15は、設定情報20に含まれるLSTM11の出力ノードと特徴量(画像、加速度センサ…)および姿勢情報(軸J1、J2…)との対応関係を参照し、異常ありと判定した出力ノードに対応する異常箇所を特定する(S27)。ついで、出力部16は、異常判定部15が特定した異常箇所を、異常ありとして例えばディスプレイへの表示などによりユーザへ通知する(S28)。
ついで、異常判定装置1は、ロボットアーム100の動作が終了位置まで到達したか否かなどの終了条件を満たすか否かを判定する(S29)。
終了条件を満たさない場合(S29:No)、異常判定装置1は、S20へ処理を戻し、ロボットアーム100の動作制御に関する処理を継続する。終了条件を満たす場合(S29:Yes)、異常判定装置1は、ロボットアーム100の動作制御に関する処理を終了する。
(第2の実施形態)
図6は、第2の実施形態にかかる異常判定装置の機能構成例を示すブロック図である。図6に示すように、異常判定装置1aでは、カメラ102による画像D1からの特徴量を抽出する第1のAE10aと、加速度センサー101のセンサーデータ(グラフ画像)からの特徴量を抽出する第2のAE10bとを有する点が第1の実施形態と異なる。また、カメラ102の画像または加速度センサー101を異常箇所と判定した場合、出力部16は、第1のAE10a、10bの入出力の差分より異常箇所に関する画像データを出力する(S30、S31)。
具体的には、異常判定部15において異常箇所がカメラ102からの画像D1であると判定した場合、出力部16は、第1のAE10aの出力と、そのステップの実際の入力(ともに画像)との差分を取り、差分画像を生成する(S30)。
同様に、異常判定部15において異常箇所が加速度センサー101からのセンサーデータであると判定した場合、出力部16は、第2のAE10bの出力と、そのステップの実際の入力(ともに画像)との差分を取り、差分画像を生成する(S31)。
図7は、異常箇所の可視化を説明する説明図である。図7に示すように、出力部16は、第1のAE10aの出力画像D11と、第1のAE10aの入力画像D10との差分により差分画像D13を生成する。第1のAE10aは正常時の画像を出力するように学習していることから、異常を検知した際の入力画像D10と出力画像D11との差分画像D13は、異常箇所を可視化した画像となる。
同様に、出力部16は、第2のAE10bの出力画像D21と、第2のAE10bの入力画像D20との差分により差分画像D23を生成する。第2のAE10bは正常時のセンサデータのグラフ画像を出力するように学習していることから、異常を検知した際の入力画像D20と出力画像D21との差分画像D23は、異常箇所を可視化した画像となる。
ついで、出力部16は、生成した差分画像D13、D23をディスプレイに表示する。これにより、ユーザは、異常箇所(例えばカメラ画像中の異常箇所の領域、グラフにおける異常部分)を容易に識別することができる。
以上のように、異常判定装置1は、機械学習モデルM1が生成した第1のタイミングのロボットアーム100の第1の動作情報と、第1のタイミングにおいてロボットアーム100をセンシングして得られた第1の複数の特徴量とに基づいて、機械学習モデルM1を用いて、第2のタイミングの第2の動作情報と第2の複数の特徴量の推定値とを生成する。また、異常判定装置1は、第2のタイミングにおいて第2の動作状態に基づいてロボットアーム100の動作を制御し、第2のタイミングにおいてロボットアーム100をセンシングして得られた第2の複数の特徴量と、生成された第2の複数の特徴量の推定値とを比較する。また、異常判定装置1は、比較する処理の結果に基づいて、異常の有無を判定する。これにより、異常判定装置1は、ロボットアーム100のセンシングにおける異常の有無を特定できる。
また、異常判定装置1は、比較する処理の結果を複数のタイミングで累積した累積値に基づいて異常の有無を判定する。これにより、異常判定装置1は、突発的な外乱などのノイズに対して頑強に異常の判定を行うことができる。
また、異常判定装置1は、センシングして得られた第2の複数の特徴量それぞれと、生成された第2の複数の特徴量の推定値それぞれとを比較し、それぞれの結果に基づいて、特定の特徴量を取得するセンシングでの異常の有無を判定する。これにより、異常判定装置1は、センシングにおいて異常が生じている箇所を容易に特定することができる。
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、異常判定装置1で行われるAE10、LSTM11、誤差算出部13、異常度算出部14、異常判定部15および出力部16の各種処理機能は、制御部の一例としてのCPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、異常判定装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ構成(ハードウエア)の一例を説明する。図7は、コンピュータ構成の一例を説明位する説明図である。
図7に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203と、スピーカー204とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置205と、各種装置と接続するためのインタフェース装置206と、有線または無線により外部機器と通信接続するための通信装置207とを有する。また、異常判定装置1は、各種情報を一時記憶するRAM208と、ハードディスク装置209とを有する。また、コンピュータ200内の各部(201~209)は、バス210に接続される。
ハードディスク装置209には、上記の実施形態で説明した機能構成(例えばAE10、LSTM11、誤差算出部13、異常度算出部14、異常判定部15および出力部16)における各種の処理を実行するためのプログラム211が記憶される。また、ハードディスク装置209には、プログラム211が参照する各種データ212が記憶される。入力装置202は、例えば、操作者から操作情報の入力を受け付ける。モニタ203は、例えば、操作者が操作する各種画面を表示する。インタフェース装置206は、例えば印刷装置等が接続される。通信装置207は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
CPU201は、ハードディスク装置209に記憶されたプログラム211を読み出して、RAM208に展開して実行することで、上記の機能構成(例えばAE10、LSTM11、誤差算出部13、異常度算出部14、異常判定部15および出力部16)に関する各種の処理を行う。なお、プログラム211は、ハードディスク装置209に記憶されていなくてもよい。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラム211を読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラム211を記憶させておき、コンピュータ200がこれらからプログラム211を読み出して実行するようにしてもよい。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)機械学習モデルが生成した第1のタイミングの機器の第1の動作情報と、前記第1のタイミングにおいて前記機器をセンシングして得られた第1の複数の特徴量とに基づいて、前記機械学習モデルを用いて、前記第1のタイミングより後の第2のタイミングの第2の動作情報と第2の複数の特徴量の推定値とを生成し、
前記第2のタイミングにおいて前記第2の動作状態に基づいて前記機器の動作を制御し、前記第2のタイミングにおいて前記機器をセンシングして得られた第2の複数の特徴量と、生成された前記第2の複数の特徴量の推定値とを比較し、
前記比較する処理の結果に基づいて、異常の有無を判定する、
処理をコンピュータに実行させることを特徴とする異常判定プログラム。
(付記2)前記判定する処理は、前記結果と他のタイミングにおける複数の特徴量と前記複数の特徴量の推定値との比較の結果との累積に基づいて異常の有無を判定する
ことを特徴とする付記1に記載の異常判定プログラム。
(付記3)前記比較する処理は、センシングして得られた前記第2の複数の特徴量それぞれと、生成された前記第2の複数の特徴量の推定値それぞれとを比較し、
前記判定する処理は、それぞれの前記結果に基づいて、特定の特徴量を取得するセンシングでの異常の有無を判定する、
処理を含むことを特徴とする付記1または2に記載の異常判定プログラム。
(付記4)機械学習モデルが生成した第1のタイミングの機器の第1の動作情報と、前記第1のタイミングにおいて前記機器をセンシングして得られた第1の複数の特徴量とに基づいて、前記機械学習モデルを用いて、前記第1のタイミングより後の第2のタイミングの第2の動作情報と第2の複数の特徴量の推定値とを生成し、
前記第2のタイミングにおいて前記第2の動作状態に基づいて前記機器の動作を制御し、前記第2のタイミングにおいて前記機器をセンシングして得られた第2の複数の特徴量と、生成された前記第2の複数の特徴量の推定値とを比較し、
前記比較する処理の結果に基づいて、異常の有無を判定する、
処理をコンピュータが実行することを特徴とする異常判定方法。
(付記5)前記判定する処理は、前記結果と他のタイミングにおける複数の特徴量と前記複数の特徴量の推定値との比較の結果との累積に基づいて異常の有無を判定する
ことを特徴とする付記4に記載の異常判定方法。
(付記6)前記比較する処理は、センシングして得られた前記第2の複数の特徴量それぞれと、生成された前記第2の複数の特徴量の推定値それぞれとを比較し、
前記判定する処理は、それぞれの前記結果に基づいて、特定の特徴量を取得するセンシングでの異常の有無を判定する、
処理を含むことを特徴とする付記4または5に記載の異常判定方法。
(付記7)機械学習モデルが生成した第1のタイミングの機器の第1の動作情報と、前記第1のタイミングにおいて前記機器をセンシングして得られた第1の複数の特徴量とに基づいて、前記機械学習モデルを用いて、前記第1のタイミングより後の第2のタイミングの第2の動作情報と第2の複数の特徴量の推定値とを生成し、
前記第2のタイミングにおいて前記第2の動作状態に基づいて前記機器の動作を制御し、前記第2のタイミングにおいて前記機器をセンシングして得られた第2の複数の特徴量と、生成された前記第2の複数の特徴量の推定値とを比較し、
前記比較する処理の結果に基づいて、異常の有無を判定する、
処理を実行する制御部を含むことを特徴とする異常判定装置。
(付記8)前記判定する処理は、前記結果と他のタイミングにおける複数の特徴量と前記複数の特徴量の推定値との比較の結果との累積に基づいて異常の有無を判定する
ことを特徴とする付記7に記載の異常判定装置。
(付記9)前記比較する処理は、センシングして得られた前記第2の複数の特徴量それぞれと、生成された前記第2の複数の特徴量の推定値それぞれとを比較し、
前記判定する処理は、それぞれの前記結果に基づいて、特定の特徴量を取得するセンシングでの異常の有無を判定する、
処理を含むことを特徴とする付記7または8に記載の異常判定装置。
1、1a…異常判定装置
10…AE
10a…第1のAE
10b…第2のAE
11…LSTM
12…格納部
13…誤差算出部
14…異常度算出部
15…異常判定部
16…出力部
20…設定情報
100…ロボットアーム
101…加速度センサー
102…カメラ
200…コンピュータ
201…CPU
202…入力装置
203…モニタ
204…スピーカー
205…媒体読取装置
206…インタフェース装置
207…通信装置
208…RAM
209…ハードディスク装置
210…バス
211…プログラム
212…各種データ
D1…画像
D10、D20…入力画像
D11、D21…出力画像
D13、D23…差分画像
J1~J6…軸
M1…機械学習モデル

Claims (5)

  1. 機械学習モデルが生成した第1のタイミングの機器の第1の動作情報と、前記第1のタイミングにおいて前記機器をセンシングして得られた第1の複数の特徴量とに基づいて、前記機械学習モデルを用いて、前記第1のタイミングより後の第2のタイミングの第2の動作情報と第2の複数の特徴量の推定値とを生成し、
    前記第2のタイミングにおいて前記第2の動作情報に基づいて前記機器の動作を制御し、前記第2のタイミングにおいて前記機器をセンシングして得られた第2の複数の特徴量と、生成された前記第2の複数の特徴量の推定値とを比較し、
    前記比較する処理の結果に基づいて、異常の有無を判定する、
    処理をコンピュータに実行させることを特徴とする異常判定プログラム。
  2. 前記判定する処理は、前記結果と他のタイミングにおける複数の特徴量と前記複数の特徴量の推定値との比較の結果との累積に基づいて異常の有無を判定する
    ことを特徴とする請求項1に記載の異常判定プログラム。
  3. 前記比較する処理は、センシングして得られた前記第2の複数の特徴量それぞれと、生成された前記第2の複数の特徴量の推定値それぞれとを比較し、
    前記判定する処理は、それぞれの前記結果に基づいて、特定の特徴量を取得するセンシングでの異常の有無を判定する、
    処理を含むことを特徴とする請求項1または2に記載の異常判定プログラム。
  4. 機械学習モデルが生成した第1のタイミングの機器の第1の動作情報と、前記第1のタイミングにおいて前記機器をセンシングして得られた第1の複数の特徴量とに基づいて、前記機械学習モデルを用いて、前記第1のタイミングより後の第2のタイミングの第2の動作情報と第2の複数の特徴量の推定値とを生成し、
    前記第2のタイミングにおいて前記第2の動作情報に基づいて前記機器の動作を制御し、前記第2のタイミングにおいて前記機器をセンシングして得られた第2の複数の特徴量と、生成された前記第2の複数の特徴量の推定値とを比較し、
    前記比較する処理の結果に基づいて、異常の有無を判定する、
    処理をコンピュータが実行することを特徴とする異常判定方法。
  5. 機械学習モデルが生成した第1のタイミングの機器の第1の動作情報と、前記第1のタイミングにおいて前記機器をセンシングして得られた第1の複数の特徴量とに基づいて、前記機械学習モデルを用いて、前記第1のタイミングより後の第2のタイミングの第2の動作情報と第2の複数の特徴量の推定値とを生成し、
    前記第2のタイミングにおいて前記第2の動作情報に基づいて前記機器の動作を制御し、前記第2のタイミングにおいて前記機器をセンシングして得られた第2の複数の特徴量と、生成された前記第2の複数の特徴量の推定値とを比較し、
    前記比較する処理の結果に基づいて、異常の有無を判定する、
    処理を実行する制御部を含むことを特徴とする異常判定装置。
JP2020187980A 2020-11-11 2020-11-11 異常判定プログラム、異常判定方法および異常判定装置 Pending JP2022077227A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020187980A JP2022077227A (ja) 2020-11-11 2020-11-11 異常判定プログラム、異常判定方法および異常判定装置
US17/408,077 US20220143833A1 (en) 2020-11-11 2021-08-20 Computer-readable recording medium storing abnormality determination program, abnormality determination method, and abnormality determination apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020187980A JP2022077227A (ja) 2020-11-11 2020-11-11 異常判定プログラム、異常判定方法および異常判定装置

Publications (1)

Publication Number Publication Date
JP2022077227A true JP2022077227A (ja) 2022-05-23

Family

ID=81455056

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020187980A Pending JP2022077227A (ja) 2020-11-11 2020-11-11 異常判定プログラム、異常判定方法および異常判定装置

Country Status (2)

Country Link
US (1) US20220143833A1 (ja)
JP (1) JP2022077227A (ja)

Also Published As

Publication number Publication date
US20220143833A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
JP6431017B2 (ja) 機械学習により外力の検出精度を向上させた人協調ロボットシステム
US20220146993A1 (en) Machine learning method and machine learning device for learning fault conditions, and fault prediction device and fault prediction system including the machine learning device
CN107263464B (zh) 机器学习装置、机械系统、制造系统以及机器学习方法
JP6148316B2 (ja) 故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システム
JP6572265B2 (ja) 制御装置及び機械学習装置
US10940585B2 (en) Vibration suppression device
US20190101892A1 (en) Numerical control system
JP6977686B2 (ja) 制御システムおよび制御装置
JP2005103681A (ja) ロボットシステム
JPWO2020152741A1 (ja) 異常要因推定装置、異常要因推定方法、及びプログラム
JP2019150932A (ja) 衝突位置推定装置及び機械学習装置
JP2014018941A (ja) 制御装置、及び制御方法
JP2022077227A (ja) 異常判定プログラム、異常判定方法および異常判定装置
JP2016221659A (ja) ロボットシステム、ロボットシステムの制御方法、プログラム、記録媒体及び物品の製造方法
JP7078174B2 (ja) ロボット制御装置、方法、及びプログラム
JP7479205B2 (ja) ロボットシステム、制御装置、及び制御方法
JP2020040137A (ja) 異常判定装置及び異常判定方法
JP2022077229A (ja) 動作制御プログラム、動作制御方法、および動作制御装置
WO2022158079A1 (ja) 制御装置及び自動作業方法
JP2021060633A (ja) 診断装置
JP7366562B2 (ja) 異常判定装置及び異常判定方法
WO2022054292A1 (ja) ロボット制御装置
US20240131699A1 (en) Robot system, learning apparatus, information processing apparatus, learned model, control method, information processing method, method for manufacturing product, and recording medium
JP2022077226A (ja) 機器制御プログラム、機器制御方法および機器制御装置
WO2023188601A1 (ja) 動作指令生成装置および動作指令生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240426