(57)【要約】【課題】  異常判断の精度を向上させることができる判定装置、判定方法、および判定プログラムを提供する。【解決手段】  判定装置は、対象物に対して作業を行う作業部の力または変位を検出するセンサの測定データの、基準に対する判断結果を数値に変換して累積値を算出する累積部と、前記累積部が前記累積値を算出する時間区間において、前記累積値が、時間の経過に応じて大きくなる閾値を超えた場合に異常と判定する判定部と、を備える。【選択図】  図７
2015217486.tif 000002
【特許請求の範囲】
【請求項１】
対象物に対して作業を行う作業部の力または変位を検出するセンサの測定データの、基準に対する判断結果を数値に変換して累積値を算出する累積部と、
前記累積部が前記累積値を算出する時間区間において、前記累積値が、時間の経過に応じて大きくなる閾値を超えた場合に異常と判定する判定部と、を備えることを特徴とする判定装置。
【請求項２】
前記測定データを、複数の時間区間に弁別する弁別部を備え、
前記累積部は、前記弁別部が弁別する区間ごとに前記累積値を算出し、
前記閾値は、前記弁別部が弁別する区間ごとに設定されていることを特徴とする請求項１記載の判定装置。
【請求項３】
前記弁別部は、前記作業部が作業を行う動的区間と作業を行わない定常区間とに弁別することを特徴とする請求項２記載の判定装置。
【請求項４】
前記閾値は、前記作業部が行った複数回の作業における前記センサの事前測定データの統計値を基に算出されたものであることを特徴とする請求項１〜３のいずれか一項に記載の判定装置。
【請求項５】
前記閾値は、前記事前測定データの、基準に対する判断結果を数値に変換して累積した値の平均値＋（標準偏差またはその定数倍）であることを特徴とする請求項４記載の判定装置。
【請求項６】
前記閾値は、前記事前測定データの、基準に対する判断結果を数値に変換して累積した値の最大値であることを特徴とする請求項４記載の判定装置。
【請求項７】
前記測定データを用いて前記閾値を機械学習する学習部を備えることを特徴とする請求項１〜６のいずれか一項に記載の判定装置。
【請求項８】
対象物に対して作業を行う作業部の力または変位を検出するセンサの測定データの、基準に対する判断結果を数値に変換して累積値を算出し、
前記累積値を算出する時間区間において、前記累積値が、時間の経過に応じて大きくなる閾値を超えた場合に異常と判定する、ことを特徴とする判定方法。
【請求項９】
対象物に対して作業を行う作業部の力または変位を検出するセンサの測定データの、基準に対する判断結果を数値に変換して累積値を算出する処理と、
前記累積値を算出する時間区間において、前記累積値が、時間の経過に応じて大きくなる閾値を超えた場合に異常と判定する処理と、をコンピュータに実行させることを特徴とする判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、判定装置、判定方法、および判定プログラムに関する。
【背景技術】
【０００２】
作業ＩＤで関連付けられる嵌合・挿入作業について、作業良否に関連付けられた特徴量パラメータが、作業成功に関連付けられる特徴量存在領域内に含まれない場合に作業失敗と判定する技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２３０２４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、１回のＮＧ判定で異常と判定されてしまうため、異常判断が乱発し、ラインを頻繁に止めてしまうおそれがある。そこで、異常判断に係る数値の累積値が閾値を超えた場合に異常と判定することも考えられる。しかしながら、閾値を超えるまでに時間がかかるため、リアルタイム性が低下する。
【０００５】
１つの側面では、本件は、異常判断の精度を向上させることができる判定装置、判定方法、および判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、判定装置は、対象物に対して作業を行う作業部の力または変位を検出するセンサの測定データの、基準に対する判断結果を数値に変換して累積値を算出する累積部と、前記累積部が前記累積値を算出する時間区間において、前記累積値が、時間の経過に応じて大きくなる閾値を超えた場合に異常と判定する判定部と、を備える。
【発明の効果】
【０００７】
異常判断の精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】（ａ）〜（ｄ）は作業ロボットの一連の動作の一例を例示する図である。
【図２】（ａ）〜（ｃ）は作業ロボットの一連の動作の一例を例示する図である。
【図３】（ａ）および（ｂ）は各工程における歪ゲージの出力電圧を例示する図である。
【図４】出力電圧と基準範囲との関係を例示する図である。
【図５】出力電圧と基準範囲との関係を例示する図である。
【図６】累積値と閾値との関係を例示する図である。
【図７】実施例１に係る作業装置の全体構成を説明するための図である。
【図８】（ａ）〜（ｃ）は動的指標の作成手順を例示する図である。
【図９】（ａ）は区間弁別部によって定常区間と動的区間とに弁別された出力を例示し、（ｂ）は累積値の一例を時間軸に対して表した図である。
【図１０】累積値に対する異常判断の閾値を例示する図である。
【図１１】テスト用データを用いた累積波形を表す図である。
【図１２】判定装置の判定処理の一例を表すフローチャートである。
【図１３】判定装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【０００９】
実施例の説明に先立って、作業ロボットによる作業の一例について説明する。図１（ａ）〜図１（ｄ）および図２（ａ）〜図２（ｃ）は、作業ロボットの一連の動作の一例を例示する図である。図１（ａ）で例示するように、１組のロボットハンド２０１ａ，２０１ｂのうちロボットハンド２０１ａの先端部分に歪ゲージ２０２ａが設けられ、ロボットハンド２０１ｂの先端部分に歪ゲージ２０２ｂが設けられている。まず、ロボットハンド２０１ａ，２０１ｂは、コネクタ２０３に勘合するケーブルコネクタ２０４に向かって移動する（第１移動工程）。
【００１０】
次に、図１（ｂ）で例示するように、ロボットハンド２０１ａ，２０１ｂは、ケーブルコネクタ２０４を把持する（把持工程）。次に、図１（ｃ）で例示するように、ロボットハンド２０１ａ，２０１ｂは、ケーブルコネクタ２０４を持ち上げることによって、コネクタ２０３から離し、他のコネクタに向かってケーブルコネクタ２０４を移動させる（第２移動工程）。次に、図１（ｄ）で例示するように、ロボットハンド２０１ａ，２０１ｂは、他のコネクタ２０５にケーブルコネクタ２０４を差し込む（差込工程）。
【００１１】
次に、図２（ａ）で例示するように、ロボットハンド２０１ａ，２０１ｂは、ケーブルコネクタ２０４の把持を解除する（解除工程）。次に、図２（ｂ）で例示するように、ロボットハンド２０１ａ，２０１ｂは、ケーブルコネクタ２０４から離れる方向に移動する（第３移動工程）。最後に、図２（ｃ）で例示するように、ロボットハンド２０１ａ，２０１ｂは、ケーブルコネクタ２０４をコネクタ２０５に押し込む（押込工程）。図２（ｃ）の例では、ロボットハンド２０１ｂがケーブルコネクタ２０４をコネクタ２０５に押し込んでいる。以上の工程によって、作業が完了する。
【００１２】
図３（ａ）は、各工程における歪ゲージ２０２ａの出力電圧を例示する。図３（ｂ）は、各工程における歪ゲージ２０２ｂの出力電圧を例示する。図３（ａ）および図３（ｂ）においては、実線が歪ゲージ２０２ａ，２０２ｂの実測値を表す。点線は、作業ロボットの異常を検出するための基準範囲であり、一例としてロボットハンド２０１ａ，２０１ｂによって複数回の正常作業が行われた場合の平均値±３σの範囲を表す。σは標準偏差である。
【００１３】
例えば、図４で例示するように、歪ゲージ２０２ａ，２０２ｂの出力電圧が基準範囲を超えた場合に、作業ロボットに異常が生じていると判断することが考えられる。また、図５で例示するように、ロボットハンド２０１ａ，２０１ｂがケーブルコネクタ２０４に対して力をかけない定常区間と力をかける動的区間とを弁別し、区間ごとに判断することも考えられる。しかしながら、図４および図５の例では、歪ゲージ２０２ａ，２０２ｂの出力が基準範囲を１回超えただけで作業ロボットに異常が生じていると判断され、異常判断が乱発し、ラインを頻繁に止めてしまうという課題が生じる。
【００１４】
そこで、図６で例示するように、各センサの出力の、基準に対する判断結果を数値（異常値）に変換し、当該異常値の累積値を算出し、区間ごとに設けられた閾値を当該累積値が超えた場合に異常と判断することが考えられる。しかしながら、この手法では、累積値が閾値を超えるまでに時間がかかる。例えば、区間の最初の方で大きな異常値が出力されても、閾値を超えるまでに時間がかかる。その結果、リアルタイムでの異常判断が困難となる。そこで、以下の実施例では、異常判断の精度を向上させることができる判定装置、判定方法、および判定プログラムについて説明する。
【実施例１】
【００１５】
図７は、実施例１に係る作業装置１００の全体構成を説明するための図である。図７で例示するように、作業装置１００は、作業ロボット１０、コントローラ２０、カメラ３０、判定装置４０などを備える。
【００１６】
作業ロボット１０は、ロボットハンド１１、センサ１２などを備える。ロボットハンド１１は、対象物に対して所定の作業を行う装置であり、一例として、図１（ａ）〜図２（ｃ）のような、コネクタからケーブルコネクタを抜き、当該ケーブルコネクタを他のコネクタに差し込む作業を行う。センサ１２は、ロボットハンド１１の力、変位等を検出するセンサであり、一例として、歪ゲージ、力覚センサ、加速度センサなどである。本実施例においては、センサ１２は、歪ゲージである。コントローラ２０は、所定のタイミングで作業ロボット１０に作業指示を行う制御装置である。カメラ３０は、作業ロボット１０の作業を撮像する装置である。
【００１７】
判定装置４０は、センサ１２が検出するデータ、ロボットハンド１１の座標位置、カメラ３０が取得した画像データなどに基づいて、作業ロボット１０の作業状況の良否を判定する。判定装置４０は、測定値格納部４１、区間弁別部４２、個別認識部４３、判断結果値算出部４４、異常判断処理部４５、画像判定部４６、学習部４７、およびデータベース４８を備える。
【００１８】
測定値格納部４１は、センサ１２の出力値を測定データとして一時的に格納する。次に、区間弁別部４２は、測定データを複数の時間区間に弁別する。本実施例においては、区間弁別部４２は、測定データを、ロボットハンド１１が作業を行う動的区間とロボットハンド１１が作業を行わない定常区間とに弁別する。まず、図８（ａ）で例示するように、区間弁別部４２は、測定データに対して注目点を設定し、当該注目点に対して予め決定した固定幅（ｗｉｎｄｏｗ）を設定する。次に、図８（ｂ）で例示するように、設定されたｗｉｎｄｏｗ内において、注目点よりも前（過去）の出力値の平均値μ１および標準偏差σ１を算出し、注目点よりも後（未来）の出力値の平均値μ２および標準偏差σ２を算出する。
【００１９】
次に、区間弁別部４２は、標準偏差σ１，σ２から動的指標値εを算出する。一例として、区間弁別部４２は、平均値μ１，μ２および標準偏差σ１，σ２から動的指標値εを算出する。動的指標値εは、一例として、下記式（１）で表すことができる。また、ΔμおよびΔσは、下記式（２）および下記式（３）で表すことができる。
ε＝（Δμ２＋Δσ２）０．５    （１）
Δμ＝｜μ２−μ１｜    （２）
Δσ＝｜σ２−σ１｜    （３）
【００２０】
次に、区間弁別部４２は、図８（ｃ）で例示するように、所定の時間間隔後の時刻を次の注目点に設定し、図８（ａ）および図８（ｂ）で説明した手順で次の動的指標εを算出する。図８（ａ）〜図８（ｃ）の手順を繰り返すことにより、動的指標εの時系列データを得ることができる。一例として、区間弁別部４２は、動的指標εが所定の閾値を超える区間を動的区間として弁別する。図９（ａ）は、区間弁別部４２によって定常区間と動的区間とに弁別された出力を例示する。図９（ａ）の上図の実線は、センサ１２の一方の歪ゲージの出力波形を例示し、下図の実線は、センサ１２の他方の歪ゲージの出力波形を例示する。図９（ａ）の上図において、点線は基準範囲を表す。
【００２１】
次に、個別認識部４３は、各歪ゲージの出力が基準範囲を超えたか否かを判定する。基準範囲は、作業ロボット１０の異常を検出するための基準範囲であり、一例としてロボットハンド１１によって複数回の正常作業が行われた場合の事前測定データの平均値±３σの範囲である。基準範囲は、学習部４７によって事前に算出される。
【００２２】
次に、判断結果値算出部４４は、センサ１２の出力値の、基準範囲に対する判断結果を数値に変換する。判断結果値算出部４４は、例えば、下記式（４）を用いて判断結果値を得る。下記式（４）において、「ｉ」はセンサの識別番号を示し、「ｊ」は時刻を示し、「Ｎ」は入力したデータ点数を示し、「Ｌ」は基準範囲の閾値からの逸脱距離（逸脱度合い）を示す。なお、図９（ａ）の例では、基準範囲幅に入力するデータ点は１個であるので、Ｎ＝１である。
Ｓｉｊ（ｊ）＝＋Ｎ×Ｌ  （基準範囲外）
Ｓｉｊ（ｊ）＝０  （基準範囲内）          （４）
【００２３】
取得された個々のセンサの判断結果値をリアルタイムに累積した累積値Ｊは、例えば下記式のように表すことができる。なお、下記式において、αｉｋは重みを示し、「ｉ」はセンサの識別番号を示し、「ｋ」は区間番号（定常域、動的区間を区別）を示し、「ｊ」は時刻を示し、Ｓｉｊ（ｊ）は判断結果値を示す。重みαｉｋは、センサの識別番号および区間番号の関数である。図９（ｂ）は、累積値Ｊの一例を時間軸に対して表した図である。累積値Ｊは、区間ごとに得られる。
【数１】
2015217486.tif 000003
【００２４】
図１０は、累積値Ｊに対する異常判断の閾値を例示する図である。図１０において、実線は測定データであり、点線は閾値である。図１０で例示するように、閾値は、区間ごとに定められ、時間の経過に応じて大きくなる。異常判断処理部４５は、累積値Ｊが閾値を超えた場合に作業ロボット１０の異常と判断する。
【００２５】
本実施例によれば、センサの判断結果値を累積させることによって得られた累積値を用いることから、異常判断の乱発を抑制することができる。また、閾値は、区間ごとの固定値とするのではなく、区間ごとに、時間の経過に応じて大きくなるように設定されている。それにより、異常判断の乱発を抑制しつつ、リアルタイムでの異常判断が可能となる。その結果、異常判断の精度を向上させることができる。
【００２６】
上記閾値は、時間の経過に応じて、線形に大きくなるように設定されていてもよく、段階的に一度でも大きくなるように設定されていてもよい。具体的には、学習部４７は、データベース４８に予め格納されている学習用データ群の統計値を基に上記閾値を算出する。学習用データ群は、作業ロボット１０が行った複数回の正常作業におけるセンサ１２の事前測定データである。具体的には、学習部４７は、学習用データ群に対する上記式（５）の学習用累積波形を算出し、その平均値＋（標準偏差σまたはその定数倍）を上記閾値として算出する。閾値は、これらに限定されるものではなく、例えば、学習用データ群に対する上記式（５）の最大値、微分値の標準偏差値、または最大値、などを用いることもできる。
【００２７】
なお、個別認識部４３が識別器を備え、判断結果値算出部４４が当該識別器の結果を用いて各動的区間の作業状況の良否を上記累積値Ｊに反映させてもよい。識別器とは、各動的区間内の作業状況の良否を判定する個別の主体のことであり、例えば、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）識別器である。識別器を設けることは、各動的区間の作業良否を判定するための個別の基準を作成することと同義である。各識別器は、各動的区間におけるセンサ１２の事前測定データから抽出される特徴量ごとに設けられていてもよい。特徴量として、例えば、振幅値、微分波形、積分波形、周波数などが挙げられる。識別器は、データベース４８に格納されている学習用データ群に基づいて、学習部４７によって予め作成しておくことができる。例えば、識別器は、基準に対するセンサ１２の出力波形に対する正解率などを用いて作業状況の良否を判定し、作業状況が否と判断されると、それに応じた値を上記累積値Ｊに累積する。なお、動的区間の各々について識別器を設けることによって、全データを特定の識別器に投入することなく、リアルタイムに良否判定を行うことができる。
【００２８】
また、画像判定部４６が識別器を備え、判断結果値算出部４４が当該識別器の結果を用いて各区間の作業状況の良否を上記累積値Ｊに反映させてもよい。例えば、画像判定部４６がカメラ３０の取得するロボットハンド１１の作業状況の動画から特徴量を抽出し、識別器が当該特徴量に基づいて上記動画の正解率などを用いて作業状況の良否を判断してもよい。例えば、識別器が作業状況を否と判断すると、それに応じて値が上記累積値Ｊに累積されてもよい。
【００２９】
学習用データ群は、識別器用データとテスト用データとに分かれていてもよい。識別器用データは、各区間の基準範囲および個別認識部４３の識別器を作成するためのデータとして用いることができる。テスト用データは、各区間における累積値Ｊの判断に用いる閾値を作成するためのデータとして用いることができる。図１１は、テスト用データを用いた累積波形を表す。図１１において、実線はテスト用データを用いた累積波形を表し、点線は閾値を表す。閾値は、一例として、累積波形の平均値＋３σに設定してある。
【００３０】
図１２は、判定装置４０の判定処理の一例を表すフローチャートである。なお、図１２のフローチャートは、作業ロボット１０による実際の作業が行われる際に実行される。図１２で例示するように、測定値格納部４１はセンサ１２の出力値波形（測定データ）を格納し、区間弁別部４２は、測定値格納部４１に格納された測定データを動的区間と定常区間とに弁別する（ステップＳ１）。
【００３１】
次に、個別認識部４３は、定常区間の測定データが基準範囲（３σ域）から外れているか否かを判定する（ステップＳ２）。また、個別認識部４３は、動的区間の測定データが基準範囲（３σ域）から外れているか否かを判定する（ステップＳ３）。また、個別認識部４３の識別器は、動的区間の測定データの良否を判定する（ステップＳ４）。ステップＳ１〜Ｓ４と並行して、画像判定部４６は、カメラ３０が取得する動画から特徴量を抽出する（ステップＳ５）。次に、画像判定部４６の識別器は、各区間の作業の良否を判定し（ステップＳ６）、その結果を出力する。
【００３２】
判断結果値算出部４４は、個別認識部４３および画像判定部４６の出力結果を用いて、累積値Ｊを算出する（ステップＳ７）。ステップＳ７において、上記式（５）のαｉｋを、テスト用データの正解率としてもよい。異常判断処理部４５は、各区間において累積値Ｊが閾値を超えたか否かを判定することによって異常判断を行う（ステップＳ８）。ステップＳ８の判断結果は、外部に出力される。
【００３３】
次に、学習部４７は、異常判断処理部４５が異常か否かを判断した測定データに関して、追加学習に使用するか否かを選択する（ステップＳ９）。この選択については、ユーザに選択させてもよい。ステップＳ９で選択と判定された場合、学習部４７は、当該測定データにラベルを付加する（ステップＳ１０）。例えば、学習部４７は、正常と判断した測定データに「０」のラベルを付加し、異常と判断した測定データに「１」のラベルを付加する。学習部４７は、この結果を基に、再学習を行う（ステップＳ１１）。再学習とは、データベース４８に格納された予め用意した学習データ群に測定データを加えて、機械学習することである。このとき、識別器用データとして識別器を再作成してもよいし、テスト用データとして閾値を再作成してもよい。
【００３４】
図１３は、判定装置４０のハードウェア構成を説明するためのブロック図である。図１３を参照して、判定装置４０は、ＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、表示装置１０４等を備える。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、中央演算処理装置である。
【００３５】
ＣＰＵ１０１は、１以上のコアを含む。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１が実行するプログラム、ＣＰＵ１０１が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置１０３は、不揮発性記憶装置である。記憶装置１０３として、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリなどのソリッド・ステート・ドライブ（ＳＳＤ）、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置１０３は、判定プログラムを記憶している。表示装置１０４は、液晶ディスプレイ、エレクトロルミネッセンスパネルなどであり、判定結果を表示する。なお、本実施例においては判定装置４０の各部は、プログラムの実行によって実現されているが、専用の回路などのハードウェアを用いてもよい。
【００３６】
なお、上記実施例においては、判断結果値算出部４４が、対象物に対して作業を行う作業部の力または変位を検出するセンサの測定データの、基準に対する判断結果を数値に変換して累積値を算出する累積部として機能する。異常判断処理部４５が、前記累積値が、時間の経過によって大きくなる閾値を超えた場合に異常と判定する判定部として機能する。区間弁別部４２が、測定データを複数の区間に弁別する弁別部として機能する。
【００３７】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００３８】
１０  作業ロボット
１１  ロボットハンド
１２  センサ
２０  コントローラ
３０  カメラ
４０  判定装置
４１  測定値格納部
４２  区間弁別部
４３  個別認識部
４４  判断結果値算出部
４５  異常判断処理部
４６  画像判定部
４７  学習部
４８  データベース
１００  作業装置
【図１】
2015217486.tif 000004
【図２】
2015217486.tif 000005
【図３】
2015217486.tif 000006
【図４】
2015217486.tif 000007
【図５】
2015217486.tif 000008
【図６】
2015217486.tif 000009
【図７】
2015217486.tif 000010
【図８】
2015217486.tif 000011
【図９】
2015217486.tif 000012
【図１０】
2015217486.tif 000013
【図１１】
2015217486.tif 000014
【図１２】
2015217486.tif 000015
【図１３】
2015217486.tif 000016