(57)【要約】【課題】  判定精度を維持しつつ判定時間の遅れを抑制することができる判定装置、判定方法および判定プログラムを提供する。【解決手段】  判定装置は、作業ロボットの作業工程において、前記作業ロボットに備わるセンサの時系列の測定データを格納するデータ格納部と、前記測定データの部分データから、それぞれ異なる時間幅の複数の特徴量を抽出する特徴量抽出部と、前記複数の特徴量が基準を満たすか否かを判定することで、前記作業ロボットの作業の良否を判定する良否判定部と、を備える。【選択図】  図８
2018027577.tif 000002
【特許請求の範囲】
【請求項１】
作業ロボットの作業工程において、前記作業ロボットに備わるセンサの時系列の測定データを格納するデータ格納部と、
前記測定データの部分データから、それぞれ異なる時間幅の複数の特徴量を抽出する特徴量抽出部と、
前記複数の特徴量が基準を満たすか否かを判定することで、前記作業ロボットの作業の良否を判定する良否判定部と、を備えることを特徴とする判定装置。
【請求項２】
前記部分データは、隣接する部分データと互いに重複しており、
前記複数の特徴量の前記時間幅は、前記部分データのうち時間的に前の部分データと重複しないデータ範囲を含むことを特徴とする請求項１記載の判定装置。
【請求項３】
前記複数の特徴量の前記時間幅は、前記部分データのうち時系列で最後のデータ範囲を含むことを特徴とする請求項１記載の判定装置。
【請求項４】
前記部分データは、前記作業ロボットが作業を行う過渡域および前記作業ロボットが作業を行わない定常域のうち、前記過渡域の部分データであることを特徴とする請求項１〜３のいずれか一項に記載の判定装置。
【請求項５】
前記作業工程の訓練用データから、前記複数の特徴量のそれぞれについて前記基準を生成する生成部を備えることを特徴とする請求項１〜４のいずれか一項に記載の判定装置。
【請求項６】
前記生成部は、前記複数の特徴量のそれぞれの前記基準として、前記作業工程のテスト用データに対する正解率および前記テスト用データにおける異常発生から異常検知までの判定時間が所定の精度を満たす時間幅の基準を採用し、
前記特徴量抽出部は、抽出する前記複数の特徴量の時間幅を、前記基準の時間幅とすることを特徴とする請求項５記載の判定装置。
【請求項７】
前記生成部は、前記基準として、前記作業工程のテスト用データに対する正解率および前記テスト用データにおける異常発生から異常検知までの判定時間が所定の精度を満たす基準のうち、時間幅が最も短いものを採用し、
前記特徴量抽出部は、抽出する前記複数の特徴量の時間幅を、前記基準の時間幅とすることを特徴とする請求項５記載の判定装置。
【請求項８】
前記生成部は、生成した前記基準を、隣接する他の部分データの基準として採用し、
前記特徴量抽出部は、前記隣接する他の部分データから抽出する前記複数の特徴量の時間幅を、前記基準の時間幅とすることを特徴とする請求項５〜７のいずれか一項に記載の判定装置。
【請求項９】
作業ロボットの作業工程において、前記作業ロボットに備わるセンサの時系列の測定データをデータ格納部に格納し、
前記測定データの部分データから、それぞれ異なる時間幅の複数の特徴量を特徴量抽出部が抽出し、
良否判定部が、前記複数の特徴量が基準を満たすか否かを判定することで、前記作業ロボットの作業の良否を判定する、ことを特徴とする判定方法。
【請求項１０】
コンピュータに、
作業ロボットの作業工程において、前記作業ロボットに備わるセンサの時系列の測定データの部分データから、それぞれ異なる時間幅の複数の特徴量を抽出する処理と、
前記複数の特徴量が基準を満たすか否かを判定することで、前記作業ロボットの作業の良否を判定する処理と、を実行させることを特徴とする判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、判定装置、判定方法、および判定プログラムに関する。
【背景技術】
【０００２】
ロボットにセンサ類を取り付け、異常な作業を検知する技術の開発が進められている。センサ信号の異常を判断する場合に、所定の時間幅ごとのセンサデータから振幅値、周波数などの特徴量を抽出し、基準と比較することで組立作業の良否を判定する技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−２１７４８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術では、上記所定の時間幅の途中に何らかの不良が生じた場合に、当該時間幅に起因して異常発生から異常検知までの判定時間に遅れが生じる。そこで、上記所定の時間幅を短くすることが考えられる。しかしながら、この場合、十分な時間幅のセンサデータを用いることができないため、判定精度が低下するおそれがある。
【０００５】
１つの側面では、本発明は、判定精度を維持しつつ判定時間の遅れを抑制することができる判定装置、判定方法および判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、判定装置は、作業ロボットの作業工程において、前記作業ロボットに備わるセンサの時系列の測定データを格納するデータ格納部と、前記測定データの部分データから、それぞれ異なる時間幅の複数の特徴量を抽出する特徴量抽出部と、前記複数の特徴量が基準を満たすか否かを判定することで、前記作業ロボットの作業の良否を判定する良否判定部と、を備える。
【発明の効果】
【０００７】
判定精度を維持しつつ判定時間の遅れを抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係る作業装置１００の全体構成を説明するための図である。
【図２】（ａ）〜（ｄ）は作業ロボットの作業工程の一例を例示する図である。
【図３】（ａ）〜（ｃ）は作業ロボットの作業工程の一例を例示する図である。
【図４】（ａ）〜（ｄ）は部分データを用いた良否判定を例示する図である。
【図５】判定装置のブロック図である。
【図６】（ａ）〜（ｃ）は区間弁別を例示する図である。
【図７】（ａ）〜（ｄ）は正解率および判定時間を例示する図である。
【図８】組合せ特徴ベクトルの作成の概略を表す図である。
【図９】滑走窓ごとの組合せ特徴ベクトルを例示する図である。
【図１０】（ａ）および（ｂ）は判定装置が識別器を生成する際に実行するフローチャートを例示する図である。
【図１１】実際の作業工程の良否を判定する場合に実行されるフローチャートを例示する図である。
【図１２】組合せ特徴ベクトルの最適化の他の例を表す図である。
【図１３】（ａ）および（ｂ）は組合せ特徴ベクトルの最適化の他の例を表す図である。
【図１４】組合せ特徴ベクトルの最適化の他の例を表す図である。
【図１５】組合せ特徴ベクトルの最適化の他の例を表す図である。
【図１６】組合せ特徴ベクトルの最適化の他の例を表す図である。
【図１７】（ａ）は判定装置のハードウェア構成を説明するためのブロック図であり、（ｂ）は作業システムについて例示する図である。
【発明を実施するための形態】
【実施例１】
【０００９】
図１は、実施例１に係る作業装置１００の全体構成を説明するための図である。図１で例示するように、作業装置１００は、作業ロボット１０、コントローラ２０、カメラ３０、判定装置４０などを備える。
【００１０】
作業ロボット１０は、ロボットハンド１１、センサ１２などを備える。ロボットハンド１１は、対象物に対して所定の作業を行う装置である。センサ１２は、ロボットハンド１１の力、変位等を検出するセンサであり、一例として、歪ゲージ、力覚センサ、加速度センサなどである。本実施例においては、複数のセンサ１２が備わっている。コントローラ２０は、所定のタイミングで作業ロボット１０に作業指示を行う制御装置である。カメラ３０は、作業ロボット１０の作業を撮像する装置である。本実施例においては、複数のカメラ３０が備わっている。
【００１１】
図２（ａ）〜図２（ｄ）および図３（ａ）〜図３（ｃ）は、作業ロボット１０の作業工程の一例を例示する図である。図２（ａ）で例示するように、作業ロボット１０は、ロボットハンド１１として１組のロボットハンド１１ａ，１１ｂを備え、複数のセンサ１２として歪ゲージ１２ａ，１２ｂを備えている。例えば、ロボットハンド１１ａの先端部分に歪ゲージ１２ａが設けられ、ロボットハンド１１ｂの先端部分に歪ゲージ１２ｂが設けられている。まず、ロボットハンド１１ａ，１１ｂは、コネクタ１３に勘合するケーブルコネクタ１４に向かって移動する（第１移動工程）。
【００１２】
次に、図２（ｂ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４を把持する（把持工程）。次に、図２（ｃ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４を持ち上げることによって、コネクタ１３から離し、他のコネクタに向かってケーブルコネクタ１４を移動させる（第２移動工程）。次に、図２（ｄ）で例示するように、ロボットハンド１１ａ，１１ｂは、他のコネクタ１５にケーブルコネクタ１４を差し込む（差込工程）。
【００１３】
次に、図３（ａ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４の把持を解除する（解除工程）。次に、図３（ｂ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４から離れる方向に移動する（第３移動工程）。最後に、図３（ｃ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４をコネクタ１５に差し込む（差込工程）。図３（ｃ）の例では、ロボットハンド１１ｂがケーブルコネクタ１４をコネクタ１５に差し込んでいる。以上の工程によって、作業工程が完了する。
【００１４】
図４（ａ）は、センサ１２の検出結果を例示する図である。図４（ａ）で例示するように、作業ロボット１０の作業区間は、過渡域と定常域とに弁別される。過渡域とは、作業ロボット１０が対象物に対して作業を行う時間区間のことである。定常域とは、作業ロボット１０が対象物に対する作業を行わない時間区間のことである。ロボットハンド１１の単純移動などは、定常域に含まれる。ロボットハンド１１による組立作業などは、過渡域に含まれる。図２（ａ）〜図３（ｃ）で例示した組立作業においては、定常域と過渡域とが交互に繰り返されることになる。
【００１５】
過渡域においては、判定精度が要求されるため、識別器が用いられる。識別器とは、過渡域の作業状況の良否を判定する個別の主体のことであり、例えば、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）識別器である。識別器を設けることは、各過渡域の作業良否を判定するための個別の基準（基準範囲）を作成することと同義である。過渡域の良否判定を識別器で行う場合、過渡域の終了時に過渡域データ全体を対象にして良否判定を行うやり方では、過渡域の途中で良否判定できず、良否の判定が過渡域の終了時点にまで遅延が生じてしまう。そのような遅延に対処するために、図４（ｂ）で例示するように、サンプリングの各点での部分時系列データの良否を判定する識別器を生成しておき、サンプリング時間ごとに識別器で良否の判定を実施する方法が提案されている。
【００１６】
ここでは、部分時系列データを取得するデータ範囲を滑走窓と称する。例えば、図４（ｃ）で例示するように、滑走窓を走査しながら当該滑走窓の区間のセンサ１２の検出結果から何らかの特徴量を抽出し、得られた特徴量を特徴量ごとの識別器へ入力して識別処理を行ってセンサデータの良否を判定する。入力データとしては、センサの生波形をそのまま用いるか、あるいは、平均値・積分値・微分値などのいずれか別の特徴量を抽出して用いることができる。
【００１７】
この方法においては、図４（ｄ）で例示するように、滑走窓の入力データの時間幅（以下、入力データ幅と称する）に起因し、センサ１２の検出結果に何らかの異常が発生してから識別器で異常発生が検知されるまでの判定時間に遅れが生じる。この遅れは、条件によって変動するものの、部分時系列データの幅の１／２程度となる場合もある。作業工程中のロボットが実際に作業で失敗を起こさないためには、この時間遅れをできる限り短縮することが好ましい。
【００１８】
そこで、入力データ幅を短縮化すれば、判定時間が短縮化される傾向にある。しかしながら、入力データ幅を短縮化すれば、十分な入力データが得られなくなる。この場合、判定精度は逆に低下する傾向にある。したがって、良否判定の高速化のためには、単純に入力データ幅を短縮化するだけでは不十分である。
【００１９】
組立作業には、様々な種類の異常が存在する。例えば、特定の部品を掴んで所定の場所に挿入する場合、部品の不存在による把持失敗、部品の位置姿勢のずれによる把持失敗、挿入対象の位置ずれによる挿入失敗、部品の不良による挿入失敗、など種々の異常が存在する。良否の判定を高速に実行する際には、そのような色々な状況で正確に良否判定を実行する必要がある。また、多様な異常に対応して判定精度を目標精度内に常に維持するというロバスト性も要求される。そこで、本実施例に係る作業装置１００においては、複数の特徴量を判定するための時間幅を個別に設定することで、判定精度を維持しつつ判定時間の遅れを抑制する。以下、詳細について説明する。
【００２０】
図５は、判定装置４０のブロック図である。図５で例示するように、判定装置４０は、データ格納部４１、区間弁別部４２、学習部４３、異常判断部４４、データ幅設定部４５、特徴量抽出部４６、選択部４７、組合せ作成部４８、および良否判定部４９を備える。
【００２１】
データ格納部４１は、データを一時的に格納する。後述する組合せ特徴ベクトル作成時には、データ格納部４１は、学習用データを一時的に格納する。作業ロボット１０の実際の作業の良否判定時には、データ格納部４１は、センサ１２のセンサデータを一時的に格納する。学習用データには、訓練データおよびテストデータが含まれる。訓練データには、正常判定測定データ群および異常判定測定データ群が含まれる。テストデータにも、正常判定測定データ群および異常判定測定データ群が含まれる。訓練データおよびテストデータは、学習用データの数が十分にあればそれぞれ別々のものが望ましいが、一部または全部が重複していてもよい。正常判定測定データ群は、予め作業ロボット１０に作業を行わせ、目視等で作業状況が「正常」と判定された場合のセンサ１２の時系列の出力値波形（測定データ）である。異常判定測定データ群は、予め作業ロボット１０に作業を行わせ、目視等で作業状況が「異常」と判定された場合のセンサ１２の時系列の出力値波形（測定データ）である。
【００２２】
区間弁別部４２は、訓練データの正常判定測定データ群を用いて、作業ロボット１０の作業工程を複数の時間区間に弁別する。例えば、区間弁別部４２は、訓練データの正常判定測定データ群の平均値などを用いて、作業ロボット１０の作業工程を、ロボットハンド１１が作業を行う過渡域とロボットハンド１１が作業を行わない定常域とに弁別する。まず、図６（ａ）で例示するように、区間弁別部４２は、正常判定測定データ群に対して注目点を設定し、当該注目点に対して予め決定した固定幅（ｗｉｎｄｏｗ）を設定する。次に、図６（ｂ）で例示するように、設定されたｗｉｎｄｏｗ内において、注目点よりも前（過去）の出力値の平均値μ１および標準偏差σ１を算出し、注目点よりも後（未来）の出力値の平均値μ２および標準偏差σ２を算出する。
【００２３】
次に、区間弁別部４２は、標準偏差σ１，σ２から動的指標値εを算出する。一例として、区間弁別部４２は、平均値μ１，μ２および標準偏差σ１，σ２から動的指標値εを算出する。動的指標値εは、一例として、下記式（１）で表すことができる。また、ΔμおよびΔσは、下記式（２）および下記式（３）で表すことができる。
ε＝（Δμ２＋Δσ２）０．５    （１）
Δμ＝｜μ２−μ１｜    （２）
Δσ＝｜σ２−σ１｜    （３）
【００２４】
次に、区間弁別部４２は、図６（ｃ）で例示するように、所定の時間間隔後の時刻を次の注目点に設定し、図６（ａ）および図６（ｂ）で説明した手順で次の動的指標εを算出する。図６（ａ）〜図６（ｃ）の手順を繰り返すことにより、動的指標εの時系列データを得ることができる。一例として、区間弁別部４２は、動的指標εが所定の閾値を超える区間を過渡域として弁別し、動的指標εが所定の閾値以下である区間を定常域として弁別する。
【００２５】
判定装置４０は、各滑走窓（部分時系列データ）において、異なる入力データ幅の複数の特徴量を組合せることで、組合せ特徴ベクトルを作成する。さらに、判定装置４０は、組合せ特徴ベクトルを最適化し、最適化された組合せ特徴ベクトルに対応する識別器を生成する。以下、詳細について説明する。
【００２６】
まず、特徴量とは、センサ１２の検出結果（生波形）から基本的な変換によって抽出される特徴量のことである。生波形も特徴量の１つとみなすことができる。他にも、特徴量の例として、平均値、微分値、積分値、周波数解析、データ区間内の最大値・最小値などを用いることができる。
【００２７】
データ幅設定部４５は、対象となる滑走窓において、各特徴量に対して、複数の入力データ幅を段階的に設定する。例えば、データ幅設定部４５は、周波数解析について滑走窓の全範囲を入力データ幅として設定し、さらに滑走窓の一部を入力データ幅として設定する。同様に、データ幅設定部４５は、平均値について滑走窓の全範囲を入力データ幅として設定し、さらに滑走窓の一部を入力データ幅として設定する。
【００２８】
次に、特徴量抽出部４６は、データ幅設定部４５が設定した各特徴量の各入力データ幅について、訓練データから各特徴量を抽出する。学習部４３は、得られた各特徴量からそれぞれ識別器を生成し、当該入力データ幅に関連付ける。例えば、学習部４３は、周波数解析について各入力データ幅の識別器を生成して各入力データ幅に関連付ける。同様に、学習部４３は、平均値について各入力データ幅の識別器を生成して各入力データ幅に関連付ける。
【００２９】
次に、良否判定部４９は、テストデータを用いて各識別器を評価する。テストデータには、異常判定測定データ群が含まれるため、テストデータを識別器に入力すると異常が検知されることになる。学習部４３は、テストデータのうち対象とする特徴量の関連付けられた各入力データ幅について、各識別器の判定精度（正解率）および判定時間を算出する。正解率とは、正常判定測定データ群を識別器に入力した場合に正常判定が得られ、異常判定測定データ群を識別に入力した場合に異常判定が得られる率のことである。判定時間とは、異常判定測定データ群に含まれる異常発生時刻から識別器で異常が検知されるまでの時間のことである。
【００３０】
図７（ａ）は、いずれかの特徴量について入力データ幅を段階的に変更して得られた正解率を例示する図である。図７（ａ）で例示するように、入力データ幅が大きいほど十分なデータから異常を判断できるため、正解率は高くなる傾向にある。したがって、入力データ幅を所定値よりも大きくすると、目標精度（目標正解率）が得られるようになる。図７（ｂ）は、得られた判定時間を例示する図である。図７（ｂ）で例示するように、入力データ幅が大きいほど良否判定に要する時間が長くなるため、判定時間は長くなる傾向にある。したがって、入力データ幅を所定値よりも小さくすると、目標時間が得られるようになる。
【００３１】
選択部４７は、各特徴量について、目標精度および目標時間の両方を満足する入力データ幅を選択する。上述したように、入力データ幅が小さいほど判定時間が短くなる傾向にある。そこで、本実施例においては、組合せ作成部４８は、目標精度および目標時間の両方を満足するもののうち最短の入力データ幅の特徴量を組合せることで、組合せ特徴ベクトルを作成する。学習部４３は、作成された組合せ特徴ベクトルに関連付けられた識別器を、対象の滑走窓の識別器として用いる。すなわち、学習部４３は、対象の滑走窓において、組合せ特徴ベクトルに含まれる各特徴量について、選択された入力データ幅の識別器を用いる。
【００３２】
なお、図７（ｃ）および図７（ｄ）の例では、積分値、平均値、および最大・最小値の特徴量が目標精度および目標時間の両方を満足している。周波数解析については、最も判定時間が短くなる入力データ幅であっても、判定時間は目標時間以下となっていない。微分値については、いずれの入力データ幅でも目標精度が得られていない。したがって、図７（ｃ）および図７（ｄ）の例では、組合せ作成部４８は、積分値、平均値および最大・最小値の特徴量を組合せることで、組合せ特徴ベクトルを作成する。
【００３３】
図８は、組合せ特徴ベクトルの作成の概略を表す図である。図８の例では、ある対象とする滑走窓について、周波数解析については、全範囲を入力データ幅として用いることで目標正解率が得られている。平均値（移動平均値）、微分値、最大・最小値については、滑走窓の一部を入力データ幅として用いても閾値以上の正解率が得られている。したがって、平均値（移動平均値）、微分値、最大・最小値については、滑走窓の一部を入力データ幅として用いる。これらを組合せることで、組合せ特徴ベクトルが作成される。
【００３４】
学習部４３、データ幅設定部４５、良否判定部４９、特徴量抽出部４６、選択部４７、および組合せ作成部４８は、以上の処理を各滑走窓について繰り返す。それにより、図９で例示するように、各滑走窓について、組合せ特徴ベクトルの良否判定を行う識別器が生成されることになる。
【００３５】
図１０（ａ）は、判定装置４０が識別器を生成する際に実行するフローチャートを例示する図である。図１０（ａ）で例示するように、データ格納部４１は、学習用データを一時的に格納する（ステップＳ１）。次に、区間弁別部４２は、学習用データのうち訓練データの正常判定測定データ群を用いて、作業ロボット１０の作業工程を定常域と過渡域とに弁別する（ステップＳ２）。例えば、作業工程に、複数の過渡域が含まれる。
【００３６】
次に、学習部４３は、未選択の過渡域を選択する（ステップＳ３）。次に、学習部４３は、ステップＳ３で選択された過渡域の未選択の滑走窓を選択する（ステップＳ４）。次に、学習部４３、良否判定部４９、入力データ幅設定部４５、特徴量抽出部４６、選択部４７および組合せ作成部４８は、ステップＳ４で選択された滑走窓において組合せ特徴ベクトルを作成する（ステップＳ５）。
【００３７】
次に、学習部４３は、ステップＳ３で選択された過渡域の全ての滑走窓の組合せ特徴ベクトルの作成が終了したか否かを判定する（ステップＳ６）。ステップＳ６で「Ｎｏ」と判定された場合、ステップＳ４から再度実行される。ステップＳ６で「Ｙｅｓ」と判定された場合、学習部４３は、ステップＳ２で弁別された全ての過渡域について組合せ特徴ベクトルの作成が終了したか否かを判定する（ステップＳ７）。ステップＳ７で「Ｎｏ」と判定された場合、ステップＳ３から再度実行される。ステップＳ７で「Ｙｅｓ」と判定された場合、フローチャートの実行が終了する。
【００３８】
図１０（ｂ）は、図１０（ａ）のステップＳ５の詳細を表すフローチャートを例示する図である。まず、学習部４３は、組合せ評価基準を設定する（ステップＳ１１）。例えば、学習部４３は、目標精度（正解率）および目標判定時間を設定する。次に、学習部４３は、複数の特徴量のうち未選択の特徴量を選択する（ステップＳ１２）。次に、入力データ幅設定部４５は、段階的な複数の入力データ幅のうち未選択の入力データ幅を選択する（ステップＳ１３）。
【００３９】
次に、学習部４３は、訓練データの正常判定測定データ群および異常判定測定データ群を用いて、ステップＳ１２で選択された特徴量について、ステップＳ１３で選択された入力データ幅に相当する識別器を生成して当該入力データ幅に関連付ける（ステップＳ１４）。次に、良否判定部４９は、学習用データに含まれるテストデータを用いて、ステップＳ１４で生成された識別器を評価する（ステップＳ１５）。具体的には、良否判定部４９は、正解率および判定時間を求める。
【００４０】
次に、学習部４３は、全ての入力データ幅を選択したか否かを判定する（ステップＳ１６）。ステップＳ１６で「Ｎｏ」と判定された場合、ステップＳ１３から再度実行される。ステップＳ１６で「Ｙｅｓ」と判定された場合、学習部４３は、全ての特徴量を選択したか否かを判定する（ステップＳ１７）。ステップＳ１７で「Ｎｏ」と判定された場合、ステップＳ１２から再度実行される。ステップＳ１７で「Ｙｅｓ」と判定された場合、選択部４７は、基準（目標正解率および目標判定時間）の両方を満足する特徴量を選択する（ステップＳ１８）。次に、組合せ作成部４８は、ステップＳ１８で選択された特徴量について、目標正解率および目標判定時間の両方を満足するもののうち最短の入力データ幅の特徴量を組合せて組合せ特徴ベクトルを作成する（ステップＳ１９）。すなわち、各滑走窓に識別器が生成されることになる。その後、フローチャートの実行が終了する。
【００４１】
図１１は、識別器の生成後に、作業ロボット１０の実際の作業工程の良否を判定する場合に実行されるフローチャートを例示する図である。図１１で例示するように、データ格納部４１は、作業ロボット１０の作業工程においてセンサ１２の測定データの格納を開始する（ステップＳ２１）。次に、特徴量抽出部４６は、データ格納部４１に格納されている測定データのうち、良否判定処理が未処理で最古の滑走窓を選択する（ステップＳ２２）。次に、特徴量抽出部４６は、選択した滑走窓について、測定データから組合せ特徴ベクトルに含まれる特徴量を抽出する（ステップＳ２３）。各特徴量のデータ幅は、組合せ特徴ベクトルの各データ幅に一致する。
【００４２】
次に、組合せ作成部４８は、ステップＳ２２で得られた特徴量を組合せることで、組合せ特徴ベクトルを作成する（ステップＳ２４）。次に、良否判定部４９は、対象としている滑走窓の各特徴量の識別器を用いて、ステップＳ２３で作成された組合せ特徴ベクトルに含まれる各特徴量の良否判定を行う（ステップＳ２５）。
【００４３】
次に、異常判断部４４は、ステップＳ２５の結果に応じて、作業ロボット１０の作業に異常が生じているか否かを判定する（ステップＳ２６）。例えば、異常判断部４４は、いずれかの識別器がＮＧと判定した場合に作業ロボット１０の作業に異常が生じていると判定してもよい。または、異常判断部４４は、閾値以上の個数の識別器がＮＧと判定した場合に作業ロボット１０の作業に異常が生じていると判定してもよい。または、異常判断部４４は、各識別器の良否判定を数値化し、得られた数値の合計に応じて作業ロボット１０の作業に異常が生じていると判定してもよい。例えば、異常判断部４４は、各識別器の異常判断によって得られる異常度合（異常スコア）の累積値が閾値を超えた場合に、作業ロボット１０の作業に異常が生じていると判定してもよい。
【００４４】
ステップＳ２６で「Ｙｅｓ」と判定された場合、異常判断部４４は、異常に係る信号を出力する（ステップＳ２７）。その後、フローチャートの実行が終了する。ステップＳ２６で「Ｎｏ」と判定された場合、全ての過渡域の全ての滑走窓の良否判定処理が終了したか否かを判定する（ステップＳ２８）。ステップＳ２８で「Ｎｏ」と判定された場合、ステップＳ２２から再度実行される。ステップＳ２８で「Ｙｅｓ」と判定された場合、フローチャートの実行が終了する。
【００４５】
本実施例によれば、作業ロボット１０の作業工程において、センサ１２の時系列の測定データの部分データから、それぞれ異なる入力データ幅の複数の特徴量が抽出される。さらに、当該複数の特徴量が基準を満たすか否かを判定することで、作業ロボット１０の作業の良否が判定される。この構成では、入力データ幅の大きい特徴量に基づく判定により判定精度を維持することができ、入力データ幅の小さい特徴量に基づく判定により判定時間の遅れを抑制することができる。すなわち、判定精度を維持しつつ判定時間の遅れを抑制することができる。また、複数の特徴量を組合せることにより、未知の異常作業が現れた時のロバスト性を高めることができる。
【００４６】
過渡域用の識別器としてＳＶＭ（Support Vector Machine）を用いる場合、精度評価基準として、正解率に加えて、サポートベクトル数、および、テストデータに対する識別マージンの統計量（平均・分散・最小値など）を利用してもよい。
【００４７】
また、各滑走窓が互いに重複している場合、時間的に前の滑走窓と重複しない部分を含んで入力データ範囲を設定することが好ましい。したがって、例えば、各滑走窓において、入力データ範囲は、時系列で最後のデータ範囲を含むことが好ましい。
【００４８】
なお、上記例では、過渡域において組合せ特徴ベクトルを作成しているが、それに限られない。定常域において組合せ特徴ベクトルを作成し、当該組合せ特徴ベクトルに対応する識別器を生成してもよい。
【００４９】
（変形例１）
組合せ特徴ベクトルの最適化方法の他の例について説明する。変形例１では、単独の特徴量では目標精度が得られない場合でも、組合せ特徴量の要素として採用する。また、基準精度を満足するデータ幅についても、複数のデータ幅を組合せの候補と見なす。
【００５０】
例えば、図１２で例示するように、目標精度より若干精度の低い基準精度を定義する。正解率が基準精度以上となれば、組合せ特徴ベクトルの候補とする。図１２で例示する特徴量１は、入力データ幅が長いほど正解率が上がる特徴量の例である。図１２で例示する特徴量２は、入力データ幅が短くても長すぎても正解率が落ちる特徴量の例である。各特徴量で幾つかのデータ幅が候補として上がるが、短いデータ幅を優先して組合せて正解率と判定時間を評価して行き、目標仕様を満足する組合せを探索する。
【００５１】
図１３（ａ）および図１３（ｂ）は、最適化された組合せ特徴ベクトルを例示する図である。図１３（ａ）は、幾つかの特徴量について、直近のデータ時間幅を１２０ｍｓ、２４０ｍｓ、４８０ｍｓと変えながら、学習用データについての正解率を調べた結果である。ここで、目標精度を０．９５、基準精度を０．８５とすると、太字部分の特徴量が組合せの候補となる。平均値については、データ幅１２０ｍｓ、２４０ｍｓの２通りが候補である。
組合せ１：生波形（４８０ｍｓ）＋平均値（２４０ｍｓ)＋積分値（２４０ｍｓ)
組合せ２：生波形（４８０ｍｓ）＋平均値（４８０ｍｓ）＋積分値（２４０ｍｓ）
【００５２】
図１３（ｂ）は、２通りの組合せ特徴ベクトルの正解率および判定時間を表わしている。いずれも組合せることによって、多様なＮＧ作業（異常が生じた作業）に対応することが可能になり、正解率が１００％に向上している。平均的な判定時間は組合せ１の方が若干速いため、この滑走窓においては組合せ２の組合せ特徴ベクトルを採用する。
【００５３】
（変形例２）
組合せ特徴ベクトルの最適化方法の他の例について説明する。図１４は、変形例２に係る最適化について例示する図である。上記例では、様々な種類のＮＧ作業について、正解率や判定時間を区別せずに一括して扱っていた。変形例２では、それぞれの特徴量においてＮＧ作業の種類について得手・不得手が存在するような条件での組合せを求める手順を説明する。
【００５４】
特徴量１〜３について、それぞれのＮＧ作業に対して入力データ幅を変化させながら得られた最短の判定時間と、その場合の入力データ幅を図示している。その中で、最も判定時間が短かった特徴量に網掛けを付してある。これらの網掛け部分の特徴量、および、その入力データ幅を組合せて特徴ベクトルを合成することにより、様々なＮＧ作業を総合した判定時間は、いずれか一つの特徴量を個別に利用する場合よりも高速化することが可能となる。
【００５５】
（変形例３）
組合せ特徴ベクトルは、図８で例示したように、それぞれの滑走窓で独立に最適化することも可能であるが、過渡域のサンプリングポイント全てで繰り返すと非常に大きな処理量となる。一つの過渡域は同じ動作の一連の流れに対応しており、センサ信号の性質も類似していると考えられる。従って、滑走窓ごとに最適化せず、複数の滑走窓にわたって同一の組合せ特徴量を用いた場合であっても、十分に効果を得られると期待できる。図１５は、組合せ特徴量の設定を、同一の過渡域内で他の滑走窓にコピーすることによって、特徴量の最適化を効率良く実行する方法を例示する図である。ここでは、過渡域の最後の滑走窓でのみ組合せ特徴ベクトルを最適化し、それと同一の設定を前方の滑走窓にコピーする方法が例示されている。
【００５６】
（変形例４）
これまでの方法では、部分時系列データの中から全部または一部の連続したデータを所定のデータ幅で扱うやり方のみを用いていた。図１６の例で言えば、（１）あるいは（ｄ）のような網掛け部分のデータの取り扱い方に当たる。しかしながら、その他にも、例えば特徴量として平均値を扱う場合に、図１６の（２）や（３）のように時間軸方向に重みを付けて加重平均として特徴量に変換することも可能である。あるいは、特徴量に変換する際のデータの取り方を、図１６の（ａ）〜（ｃ）のように不規則な間隔にすることも可能である。
【００５７】
（他の例）
図１７（ａ）は、判定装置４０のハードウェア構成を説明するためのブロック図である。図１７（ａ）を参照して、判定装置４０は、ＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、表示装置１０４等を備える。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、中央演算処理装置である。
【００５８】
ＣＰＵ１０１は、１以上のコアを含む。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１が実行するプログラム、ＣＰＵ１０１が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置１０３は、不揮発性記憶装置である。記憶装置１０３として、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリなどのソリッド・ステート・ドライブ（ＳＳＤ）、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置１０３は、判定プログラムを記憶している。表示装置１０４は、液晶ディスプレイ、エレクトロルミネッセンスパネルなどであり、判定結果を表示する。なお、本実施例においては判定装置４０の各部は、プログラムの実行によって実現されているが、専用の回路などのハードウェアを用いてもよい。
【００５９】
図１７（ｂ）は、作業システムについて例示する図である。上記各例においては、判定装置４０は、センサ１２から測定データを取得し、カメラ３０から画像データを取得している。これに対して、判定装置４０の機能を有するサーバ２０２が、インターネットなどの電気通信回線２０１を通じてセンサ１２およびカメラ３０からデータを取得してもよい。
【００６０】
上記各例において、データ格納部４１が、作業ロボットの作業工程において、作業ロボットに備わるセンサの時系列の測定データを格納するデータ格納部の一例として機能する。特徴量抽出部４６が、測定データの部分データから、それぞれ異なる時間幅の複数の特徴量を抽出する特徴量抽出部の一例として機能する。良否判定部４９が、複数の特徴量が基準を満たすか否かを判定することで、作業ロボットの作業の良否を判定する良否判定部の一例として機能する。学習部４３が、作業工程の訓練用データから、複数の特徴量のそれぞれについて基準を生成する生成部の一例として機能する。
【００６１】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６２】
１０  作業ロボット
１１  ロボットハンド
１２  センサ
２０  コントローラ
３０  カメラ
４０  判定装置
４１  データ格納部
４２  区間弁別部
４３  学習部
４４  異常判断部
４５  データ幅設定部
４６  特徴量抽出部
４７  選択部
４８  組合せ作成部
４９  良否判定部
１００  作業装置
【図１】
2018027577.tif 000003
【図２】
2018027577.tif 000004
【図３】
2018027577.tif 000005
【図４】
2018027577.tif 000006
【図５】
2018027577.tif 000007
【図６】
2018027577.tif 000008
【図７】
2018027577.tif 000009
【図８】
2018027577.tif 000010
【図９】
2018027577.tif 000011
【図１０】
2018027577.tif 000012
【図１１】
2018027577.tif 000013
【図１２】
2018027577.tif 000014
【図１３】
2018027577.tif 000015
【図１４】
2018027577.tif 000016
【図１５】
2018027577.tif 000017
【図１６】
2018027577.tif 000018
【図１７】
2018027577.tif 000019