(57)【要約】【課題】  高い精度で異常判定を行うことができる判定装置、判定方法および判定プログラムを提供する。【解決手段】  判定装置は、作業ロボットが繰り返し行う一連の工程において、作業ロボットに備わるセンサの測定データを格納する格納部と、格納部に格納された測定データのうち正常作業の測定データを第１学習データとして用いて、一連の工程の異常を判定するための基準として第１基本統計型識別器および第１機械学習型識別器を生成する生成部と、第１基本統計型識別器および第１機械学習型識別器の出力に、第１学習データ数に応じて、それぞれ重み係数を設定する設定部と、第１基本統計型識別器および第１機械学習型識別器の生成後に格納部に格納される測定データに対する第１基本統計型識別器および第１機械学習型識別器の出力のそれぞれと、対応する前記重み係数との乗算値に応じて、一連の工程に異常が生じているか否かを判定する判定部と、を備える。【選択図】  図８
2018132884.tif 000002
【特許請求の範囲】
【請求項１】
作業ロボットが繰り返し行う一連の工程において、前記作業ロボットに備わるセンサの測定データを格納する格納部と、
前記格納部に格納された前記測定データのうち正常作業の前記測定データを第１学習データとして用いて、前記一連の工程の異常を判定するための基準として第１基本統計型識別器および第１機械学習型識別器を生成する生成部と、
前記第１基本統計型識別器および前記第１機械学習型識別器の出力に、前記第１学習データ数に応じて、それぞれ重み係数を設定する設定部と、
前記第１基本統計型識別器および前記第１機械学習型識別器の生成後に前記格納部に格納される前記測定データに対する前記第１基本統計型識別器および前記第１機械学習型識別器の出力のそれぞれと、対応する前記重み係数との乗算値に応じて、前記一連の工程に異常が生じているか否かを判定する判定部と、を備えることを特徴とする判定装置。
【請求項２】
前記設定部は、前記第１学習データ数が増加するに伴って、前記第１機械学習型識別器の重み係数を大きくすることを特徴とする請求項１記載の判定装置。
【請求項３】
前記設定部は、前記第１学習データ数が所定値以上になると、前記第１基本統計型識別器および前記第１機械学習型識別器の重み係数を固定することを特徴とする請求項１または２に記載の判定装置。
【請求項４】
前記生成部は、前記格納部に異常作業の測定データが格納されると、前記格納部に格納された前記測定データのうち前記正常作業の測定データと前記異常作業の測定データとを第２学習データとして用いて、前記一連の工程の異常を判定するための基準として第２基本統計型識別器および第２機械学習型識別器を生成し、
前記設定部は、前記第２基本統計型識別器および前記第２機械学習型識別器の出力に、前記第２学習データ数に応じて、それぞれ重み係数を設定し、
前記判定部は、前記第２基本統計型識別器および前記第２機械学習型識別器の生成後に前記格納部に格納される前記測定データに対する前記第２基本統計型識別器および前記第２機械学習型識別器の出力のそれぞれと、対応する前記重み係数との乗算値に応じて、前記一連の工程に異常が生じているか否かを判定することを特徴とする請求項１〜３のいずれか一項に記載の判定装置。
【請求項５】
前記設定部は、前記異常作業の学習データ数が増加するに伴って、前記第２機械学習型識別器の重み係数を大きくすることを特徴とする請求項４記載の判定装置。
【請求項６】
前記設定部は、前記第２学習データ数が所定値以上になると、前記第２基本統計型識別器および前記第２機械学習型識別器の重み係数を固定することを特徴とする請求項４または５に記載の判定装置。
【請求項７】
前記一連の工程を、前記作業ロボットが作業を行う過渡域と前記作業ロボットが作業を行わない定常域とに弁別する弁別部を備え、
前記生成部は、前記定常域および前記過渡域のうち、前記過渡域について前記第１基本統計型識別器および前記第１機械学習型識別器を生成することを特徴とする請求項１〜６のいずれか一項に記載の判定装置。
【請求項８】
作業ロボットが繰り返し行う一連の工程において、前記作業ロボットに備わるセンサの測定データを格納部が格納し、
前記格納部に格納された測定データのうち正常作業の前記測定データを第１学習データとして用いて、前記一連の工程の異常を判定するための基準として第１基本統計型識別器および第１機械学習型識別器を生成部が生成し、
前記第１基本統計型識別器および前記第１機械学習型識別器の出力に、前記第１学習データ数に応じて、それぞれ重み係数を設定部が設定し、
前記第１基本統計型識別器および前記第１機械学習型識別器の生成後に前記格納部に格納される前記測定データに対する前記第１基本統計型識別器および前記第１機械学習型識別器の出力のそれぞれと、対応する前記重み係数との乗算値に応じて、前記一連の工程に異常が生じているか否かを判定部が判定する、ことを特徴とする判定方法。
【請求項９】
コンピュータに、
作業ロボットが繰り返し行う一連の工程において、前記作業ロボットに備わるセンサの測定データを格納部に格納する処理と、
前記格納部に格納された測定データのうち正常作業の前記測定データを第１学習データとして用いて、前記一連の工程の異常を判定するための基準として第１基本統計型識別器および第１機械学習型識別器を生成する処理と、
前記第１基本統計型識別器および前記第１機械学習型識別器の出力に、前記第１学習データ数に応じて、それぞれ重み係数を設定する処理と、
前記第１基本統計型識別器および前記第１機械学習型識別器の生成後に前記格納部に格納される前記測定データに対する前記第１基本統計型識別器および前記第１機械学習型識別器の出力のそれぞれと、対応する前記重み係数との乗算値に応じて、前記一連の工程に異常が生じているか否かを判定する処理とを、実行させることを特徴とする判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、判定装置、判定方法および判定プログラムに関する。
【背景技術】
【０００２】
作業ロボットによる組立作業では、不良品の発生を防ぐことが望まれている。そこで、作業ロボットにセンサ類を取り付け、それらの検出結果に基づいて作業の異常を検知する技術の開発が進められている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−８５４３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
センサの検出結果に異常が生じているか否かを判定するために、識別器が用いられる。識別器は、学習データを用いて予め生成しておくことができる。例えば、識別器として、３σ識別器のような基本統計型識別器と、ＳＶＭ識別器のような機械学習型識別器とを用いることが考えられる。基本統計型識別器は、学習データのうち異常が生じていない正常作業データから生成することができるが、機械学習型識別器は、正常作業データと、異常が生じている異常作業データとから生成される。生産ライン等では、異常作業データの発生が少ないため、機械学習型識別器の生成が困難である。また、異常作業データが発生しても、当該異常作業データ数が少ない段階では機械学習型識別器に高い精度が得られにくい。以上のことから、高い精度で異常判定を行うことが困難であった。
【０００５】
１つの側面では、本発明は、高い精度で異常判定を行うことができる判定装置、判定方法および判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、判定装置は、作業ロボットが繰り返し行う一連の工程において、前記作業ロボットに備わるセンサの測定データを格納する格納部と、前記格納部に格納された測定データのうち正常作業の前記測定データを第１学習データとして用いて、前記一連の工程の異常を判定するための基準として第１基本統計型識別器および第１機械学習型識別器を生成する生成部と、前記第１基本統計型識別器および前記第１機械学習型識別器の出力に、前記第１学習データ数に応じて、それぞれ重み係数を設定する設定部と、前記第１基本統計型識別器および前記第１機械学習型識別器の生成後に前記格納部に格納される前記測定データに対する前記第１基本統計型識別器および前記第１機械学習型識別器の出力のそれぞれと、対応する前記重み係数との乗算値に応じて、前記一連の工程に異常が生じているか否かを判定する判定部と、を備える。
【発明の効果】
【０００７】
高い精度で異常判定を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】実施例１に係る作業装置１００の全体構成を説明するための図である。
【図２】（ａ）〜（ｄ）は作業ロボットの作業工程の一例を例示する図である。
【図３】（ａ）〜（ｃ）は作業ロボットの作業工程の一例を例示する図である。
【図４】センサの検出結果を例示する図である。
【図５】（ａ）は作業ロボットの作業回数と学習データ数との関係を例示する図であり、（ｂ）および（ｃ）は用いる識別器を例示する図である。
【図６】識別性能の学習データ数による変化の様子を模式的に表現した図である。
【図７】（ａ）〜（ｃ）は学習データ数に基づく重み付けの手順を例示する図である。
【図８】判定装置のブロック図である。
【図９】判定装置が学習処理の際に実行するフローチャートを例示する図である。
【図１０】（ａ）〜（ｃ）は区間弁別を例示する図である。
【図１１】（ａ）および（ｂ）は基本重みの設定の他の例を表す図である。
【図１２】異常判定の閾値を設定する場合に判定装置が行う処理を表すフローチャートを例示する図である。
【図１３】異常判定閾値の設定後に作業ロボットが作業を行う場合の異常判定を行う場合に実行されるフローチャートを例示する図である。
【図１４】（ａ）および（ｂ）は、データ数と識別性能との関係をシミュレーションで調べた結果である。
【図１５】（ａ）は判定装置のハードウェア構成を説明するためのブロック図であり、（ｂ）は作業システムについて例示する図である。
【発明を実施するための形態】
【実施例１】
【０００９】
図１は、実施例１に係る作業装置１００の全体構成を説明するための図である。図１で例示するように、作業装置１００は、作業ロボット１０、コントローラ２０、カメラ３０、判定装置４０などを備える。
【００１０】
作業ロボット１０は、ロボットハンド１１、センサ１２などを備える。ロボットハンド１１は、対象物に対して所定の作業を行う装置である。センサ１２は、ロボットハンド１１の力、変位等を検出するセンサであり、一例として、歪ゲージ、力覚センサ、加速度センサなどである。センサ１２は、複数備わっていてもよい。コントローラ２０は、所定のタイミングで作業ロボット１０に作業指示を行う制御装置である。カメラ３０は、作業ロボット１０の作業を撮像する装置である。カメラ３０は、複数備わっていてもよい。
【００１１】
図２（ａ）〜図２（ｄ）および図３（ａ）〜図３（ｃ）は、作業ロボット１０の作業工程の一例を例示する図である。図２（ａ）で例示するように、作業ロボット１０は、ロボットハンド１１として１組のロボットハンド１１ａ，１１ｂを備え、複数のセンサ１２として歪ゲージ１２ａ，１２ｂを備えている。例えば、ロボットハンド１１ａの先端部分に歪ゲージ１２ａが設けられ、ロボットハンド１１ｂの先端部分に歪ゲージ１２ｂが設けられている。まず、ロボットハンド１１ａ，１１ｂは、コネクタ１３に勘合するケーブルコネクタ１４に向かって移動する（第１移動工程）。
【００１２】
次に、図２（ｂ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４を把持する（把持工程）。次に、図２（ｃ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４を持ち上げることによって、コネクタ１３から離し、他のコネクタに向かってケーブルコネクタ１４を移動させる（第２移動工程）。次に、図２（ｄ）で例示するように、ロボットハンド１１ａ，１１ｂは、他のコネクタ１５にケーブルコネクタ１４を差し込む（差込工程）。
【００１３】
次に、図３（ａ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４の把持を解除する（解除工程）。次に、図３（ｂ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４から離れる方向に移動する（第３移動工程）。最後に、図３（ｃ）で例示するように、ロボットハンド１１ａ，１１ｂは、ケーブルコネクタ１４をコネクタ１５に差し込む（差込工程）。図３（ｃ）の例では、ロボットハンド１１ｂがケーブルコネクタ１４をコネクタ１５に差し込んでいる。以上の工程によって、作業工程が完了する。
【００１４】
図４は、センサ１２の測定データを例示する図である。図４で例示するように、作業ロボット１０が繰り返し行う一連の工程は、過渡域と定常域とに弁別される。過渡域とは、作業ロボット１０が対象物に対して作業を行う時間区間のことである。定常域とは、作業ロボット１０が対象物に対する作業を行わない時間区間のことである。ロボットハンド１１の単純移動などは、定常域に含まれる。ロボットハンド１１による組立作業などは、過渡域に含まれる。図２（ａ）〜図３（ｃ）で例示した組立作業においては、定常域と過渡域とが繰り返されることになる。なお、センサ１２が複数備わっている場合には、図４のような検出結果が、各センサ１２に対して得られる。
【００１５】
定常域および過渡域のそれぞれを、時間軸において複数のサンプリング区間に分け、各サンプリング区間について異常判定を行うことが望まれている。そこで、定常域および過渡域のサンプリング区間ごとに、センサ１２の検出結果と、異常判定のための基準とを対比することで、異常が生じていないか否かを判定することが考えられる。例えば、定常域および過渡域のサンプリング区間ごとに、識別器によって異常判定を行うことが考えられる。識別器とは、作業状況の良否を判定する個別の主体のことである。識別器を設けることは、各サンプリング区間の作業良否を判定するための個別の基準（基準範囲）を作成することと同義である。
【００１６】
定常域は、ロボットアームの単純な移動のように作業ロボット１０が対象物に対する作業を行わない区間であるため、処理の軽い単純な定常域用識別器で異常判定を行うことが考えられる。一方、過渡域は、作業ロボット１０が対象物に対して作業を行う区間であるため、判定精度が要求される。そこで、複雑な過渡域用識別器によって詳細に異常判定を行うことが考えられる。
【００１７】
定常域用識別器には、基本統計型識別器を用いる。基本統計型識別器は、平均値、標準偏差、最大最小値などの基本的な記述統計量を用いて、その正常範囲を基準に判定を行う識別器である。基本統計型識別器は、パラメトリック識別器と定義することもできる。本実施例においては、定常域用識別器として、基本統計型識別器の一例として３σ識別器を用いる。３σ識別器とは、センサ１２の異常判定対象の測定データが、実際に作業ロボット１０に作業を行わせた場合に得られたセンサ１２の測定データ（学習データ）の平均値±３σを超えるか否かを判定する識別器である。σは、標準偏差である。
【００１８】
過渡域用識別器には、機械学習型識別器を用いる。機械学習型識別器は、学習データの機械学習（ＳＶＭ、ニューラルネットワーク、決定木）によって作成した複雑な識別境界を基準に判定を行う識別器である。機械学習型識別器は、ノンパラメトリック識別器と定義することもできる。本実施例においては、過渡域用識別器として、機械学習型識別器の一例としてＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）識別器を用いる。
【００１９】
識別器は、センサ１２の測定データを学習データとして用いることで、生成することができる。異常無く作業ロボット１０が作業を行った場合に得られる学習データのことを正常作業データと称する。作業ロボット１０の作業に異常が生じた場合に得られる学習データのことを異常作業データと称する。作業ロボット１０の作業には異常が少ないことが多い。特に、生産ライン等では、異常の発生が少ない。したがって、作業ロボット１０が実際の作業を繰り返しても、異常作業データが得られるまでには、作業ロボット１０が何度も作業を行わなければならないことがある。
【００２０】
図５（ａ）は、作業ロボット１０の作業回数と、学習データ数（正常作業データおよび異常作業データの数）との関係を例示する図である。図５（ａ）で例示するように、作業ロボット１０が作業を繰り返しても、異常（ＮＧ）作業データが得られないことがある。この場合、作業ロボット１０が作業を何度も繰り返す過程で、異常作業データが得られるようになる。
【００２１】
３σ識別器は、統計処理によって生成することができるため、正常作業データから生成することができる。正常作業データおよび異常作業データの２クラスから機械学習により生成される２クラス型ＳＶＭ識別器は、異常作業データが得られないと生成できない。したがって、図５（ｂ）で例示するように、異常作業データが発生するまでの一定期間は、正常作業データのみで異常判定を行うことが考えられる。この場合、過渡域であってもＳＶＭ識別器を用いることができないため、図５（ｂ）で例示するように、３σ識別器を用いることが考えられる。その後、異常作業データが得られた場合に、３σ識別器および２クラス型ＳＶＭ識別器の両方を用いることが考えられる。しかしながら、異常作業データが少ない段階では、２クラス型ＳＶＭ識別器による異常判定は過学習の傾向があり、必ずしも３σ識別器より高い精度が得られるとは限らない。したがって、２クラス型ＳＶＭ識別器が効果的に活用されていない期間が生じていたことになる。
【００２２】
そこで、過渡域において、異常作業データが発生する前の期間においては、例えば、正常作業データの１クラスから機械学習により生成される１クラス型ＳＶＭ識別器を導入する。なお、Ｌｏｃａｌ  Ｏｕｔｌｉｅｒ  Ｆａｃｔｏｒなどの外れ値識別器を１クラス型ＳＶＭ識別器の代わりに用いてもよい。例えば、図５（ｃ）で例示するように、正常作業データしか得られない期間には３σ識別器および１クラスＳＶＭ識別器を使用し、正常作業データおよび異常作業データの両方が得られる期間には３σ識別器および２クラスＳＶＭ識別器を使用する。
【００２３】
一般に、３σ識別器のようにデータ分布の統計量をベースとする識別器は、データ数をＮとした場合、平均値の誤差などが１／√Ｎのオーダーで次第に減少して行く。したがって、データ数の増加につれて判定精度は上昇するものの、その上昇率は次第に頭打ちになって来る。一方、学習データをカーネルとして利用するＳＶＭ識別器は、データ数の増加に従って次第に識別性能が向上する。その反面、ＳＶＭ識別器では、データ数が僅かな条件下では過学習となり、少数の学習データは全て正しく判定できるが、そのほかの未知のデータに対しては十分な判定精度が出ないという問題が起こる。
【００２４】
図６は、両者の識別性能（あるいは判定正解率）の学習データ数による変化の様子を模式的に表現した図である。図６で例示するように、学習データ数が少ない場合には３σ識別器の識別性能が高く、学習データ数がＮｃよりも多くなるとＳＶＭ識別器の識別性能が高くなる。
【００２５】
そこで、本実施例においては、学習データ数が少ない期間はＳＶＭ識別器の異常判定に関与する比重を抑えておき、学習データ数の増加に伴ってＳＶＭ識別器の比重を次第に増加させる。このようにすることで、学習データ数が少ない期間では、３σ識別器の比重が高くなる。このように両者を適切に組み合わせることで、ＳＶＭ識別器における初期の過学習の問題を回避し、総合的な異常判定精度を向上させることが可能になる。
【００２６】
図７（ａ）〜図７（ｃ）は、学習データ数に基づく重み付けの手順を例示する図である。図７（ｂ）で例示するように、過渡域において正常作業データのみによる機械学習の場合、正常作業データ数が少ない時は３σ識別器の重みを大きくし、正常作業データ数の増加につれて１クラス型ＳＶＭ識別器の重みを増加させる。正常作業データ数が所定数以上になった場合には、各重みの比を固定する。図７（ｃ）で例示するように、過渡域において異常作業データを加えた機械学習の場合、異常作業データ数が少ない時は３σ識別器の重みを大きく、異常作業データ数（または異常作業データおよび正常作業データの総和）の増加につれて２クラス型ＳＶＭ識別器の重みを増加させる。その後、異常作業データ数（または異常作業データおよび正常作業データの総和）が所定数以上になった場合に、各重みの比を固定する。
【００２７】
ここで、各重みの比を固定することの効果について説明する。異常作業データの発生は不規則かつ偏りもあるため、学習データにおける正常作業データと異常作業データの比率は、実際には必ずしも一定にはならない。最終的な異常判定は、複数のセンサ係数およびその異常スコアの累積値に基いて総合的に行うため、基本重みを変化させることにより判定精度にばらつきを与えるおそれがある。所定のデータ数を確保した後は基本重みを一定とすることで、判定精度のばらつきを抑えることができる。なお、学習データにおける異常作業データの比率に応じて、基本重みを調節して変動させるようにしても構わない。
【００２８】
重みを切り替えるポイントは図６で例示した学習データ数Ｎｃが目安となるが、このデータ数Ｎｃは学習データの性質にも依存するため、学習条件に応じて適宜変えることが望ましい。一般には、ＳＶＭ識別器の特徴次元数ｄ以下のサンプル数では識別性能が不十分と考えられるため、Ｎｃのデフォルト値をその付近に設定してもよい。
【００２９】
図８は、判定装置４０のブロック図である。図８で例示するように、判定装置４０は、データ格納部４１、区間弁別部４２、学習データ数取得部４３、学習部４４、基本重み設定部４５、異常判定処理部４６などを備える。
【００３０】
データ格納部４１は、作業ロボット１０が一連の工程を繰り返す場合のセンサ１２の測定データを一時的に格納する。後述する学習処理の際には、データ格納部４１に格納された測定データは、学習データとして用いられる。後述する異常判定処理の際には、データ格納部４１に格納された測定データは、異常判定対象データとして用いられる。
【００３１】
図９は、判定装置４０が学習処理の際に実行するフローチャートを例示する図である。図９で例示するように、データ格納部４１は、センサ１２の測定データを学習データとして一時的に格納する（ステップＳ１）。次に、区間弁別部４２は、学習データのうち正常作業データを用いて、作業ロボット１０の一連の工程を定常域と過渡域とに弁別する（ステップＳ２）。
【００３２】
区間弁別部４２は、学習データのうち正常作業データ群を用いて、作業ロボット１０の作業工程を複数の時間区間に弁別する。例えば、区間弁別部４２は、学習データの正常作業データ群の平均値などを用いて、作業ロボット１０の一連の工程を、ロボットハンド１１が作業を行う過渡域とロボットハンド１１が作業を行わない定常域とに弁別する。まず、図１０（ａ）で例示するように、区間弁別部４２は、正常作業データ群に対して注目点を設定し、当該注目点に対して予め決定した固定幅（ｗｉｎｄｏｗ）を設定する。次に、図１０（ｂ）で例示するように、設定されたｗｉｎｄｏｗ内において、注目点よりも前（過去）の出力値の平均値μ１および標準偏差σ１を算出し、注目点よりも後（未来）の出力値の平均値μ２および標準偏差σ２を算出する。
【００３３】
次に、区間弁別部４２は、標準偏差σ１，σ２から動的指標値εを算出する。一例として、区間弁別部４２は、平均値μ１，μ２および標準偏差σ１，σ２から動的指標値εを算出する。動的指標値εは、一例として、下記式（１）で表すことができる。また、ΔμおよびΔσは、下記式（２）および下記式（３）で表すことができる。
ε＝（Δμ２＋Δσ２）０．５    （１）
Δμ＝｜μ２−μ１｜    （２）
Δσ＝｜σ２−σ１｜    （３）
【００３４】
次に、区間弁別部４２は、図１０（ｃ）で例示するように、所定の時間間隔後の時刻を次の注目点に設定し、図１０（ａ）および図１０（ｂ）で説明した手順で次の動的指標εを算出する。図１０（ａ）〜図１０（ｃ）の手順を繰り返すことにより、動的指標εの時系列データを得ることができる。一例として、区間弁別部４２は、動的指標εが所定の閾値を超える区間を過渡域として弁別し、動的指標εが所定の閾値以下である区間を定常域として弁別する。
【００３５】
次に、学習部４４は、定常域および過渡域のサンプリング区間のうち、未選択のサンプリング区間を選択する（ステップＳ３）。次に、学習データ数取得部４３は、データ格納部４１を参照することで、選択されたサンプリング区間の学習データ数を取得する（ステップＳ４）。次に、学習部４４は、選択されたサンプリング区間の学習データを用いて３σ識別器を生成する（ステップＳ５）。
【００３６】
次に、学習部４４は、区間弁別部４２の弁別結果を用いて、選択されたサンプリング区間が定常域であるか過渡域であるかを判定する（ステップＳ６）。ステップＳ６でサンプリング区間が「過渡域」であると判定された場合、学習部４４は、選択されたサンプリング区間の学習データのうち異常作業データ数がゼロであるか否かを判定する（ステップＳ７）。
【００３７】
ステップＳ７で「ゼロ」と判定された場合、学習部４４は、選択されたサンプリング区間の学習データ（正常作業データ）から１クラスＳＶＭ識別器を生成する（ステップＳ８）。ステップＳ７で「ゼロ」と判定されなかった場合、学習部４４は、選択されたサンプリング区間の学習データ（正常作業データおよび異常作業データ）から２クラスＳＶＭ識別器を生成する（ステップＳ９）。
【００３８】
ステップＳ６で「定常域」と判定された場合、ステップＳ８の実行後、およびステップＳ９の実行後、基本重み設定部４５は、基本重みの設定を行う（ステップＳ１０）。具体的には、学習部４４は、ステップＳ６で「定常域」と判定された場合には、３σ識別器だけを用いるために、３σ識別器の出力の重みｗ１を１とする。ステップＳ８の実行後であれば、図７（ｂ）で例示したように、正常作業データ数が少ない時は３σ識別器の出力の重みｗ１を大きく、正常作業データ数の増加につれて１クラス型ＳＶＭ識別器の出力の重みｗ２を増加させる。重みｗ１と重みｗ２との和を１とする。ステップＳ９の実行後であれば、図７（ｃ）で例示したように、異常作業データ数が少ない時は３σ識別器の出力の重みｗ１を大きく、異常作業データ数（または異常作業データ数および正常作業データ数の総和）の増加につれて２クラス型ＳＶＭ識別器の出力の重みｗ２を増加させる。重みｗ１と重みｗ２との和を１とする。
【００３９】
ステップＳ１０の実行後、学習部４４は、全ての区間が終了したか否かを判定する（ステップＳ１１）。具体的には、未選択のサンプリング区間が無いか否かが判定される。ステップＳ１１で「Ｙｅｓ」と判定された場合、フローチャートの実行が終了する。ステップＳ１１で「Ｎｏ」と判定された場合、ステップＳ３から再度実行される。
【００４０】
図１１（ａ）および図１１（ｂ）は、ステップＳ１０の基本重みの設定の他の例を表す図である。学習部４４は、ステップＳ６で「定常域」と判定された場合には、３σ識別器だけを用いるために、３σ識別器の出力の重みｗ１を１とする。ステップＳ８の実行後であれば、図１１（ａ）で例示するように、過渡域において正常作業データ数が少ない段階では３σ識別器の出力の重みｗ１を１とし、１クラス型ＳＶＭ識別器の出力の重みｗ２をゼロとする。その後、正常作業データ数の増加につれて１クラス型ＳＶＭ識別器の出力の重みｗ２を曲線状に増加させ、３σ識別器の出力の重みｗ１を曲線状に減少させる。重みｗ１と重みｗ２との和を１とする。ステップＳ９の実行後であれば、図１１（ａ）で例示するように、過渡域において異常作業データ数が少ない段階では３σ識別器の出力の重みｗ１を１とし、２クラス型ＳＶＭ識別器の出力の重みｗ２をゼロとする。その後、異常作業データ数（または異常作業データおよび正常作業データの総和）の増加につれて２クラス型ＳＶＭ識別器の出力の重みｗ２を曲線状に増加させ、３σ識別器の出力の重みｗ１を曲線状に減少させる。重みｗ１と重みｗ２との和を１とする。
【００４１】
または、学習部４４は、ステップＳ８の実行後であれば、図１１（ｂ）で例示するように、過渡域において正常作業データ数が少ない段階では３σ識別器の出力の重みｗ１を大きく、正常作業データ数の増加につれて１クラス型ＳＶＭ識別器の出力の重みｗ２を増加させる。正常作業データ数が所定数以上になった場合には、重みｗ１および重みｗ２との比を固定する。重みｗ１と重みｗ２との和を１とする。ステップＳ９の実行後であれば、図１１（ｂ）で例示するように、過渡域において異常作業データ数が少ない段階では２クラス型識別器ではなく１クラス型識別器と３σ識別器とを用い、異常作業データ数（または異常作業データおよび正常作業データの総和）が所定数以上になった場合に２クラス型識別器の使用を開始する。この場合、異常作業データ数が大きくなるまでは３σ識別器の出力の重みｗ１を大きく、異常作業データ数（または異常作業データおよび正常作業データの総和）の増加につれて２クラス型ＳＶＭ識別器の出力の重みｗ２を増加させる。異常作業データ数（または異常作業データおよび正常作業データの総和）が所定数以上になった場合には、重みｗ１および重みｗ２との比を固定する。重みｗ１と重みｗ２との和を１とする。
【００４２】
続いて、異常判定の詳細について説明する。各サンプリング区間について使用する識別器およびその出力に対する重みを設定することで、作業ロボット１０の一連の工程においてセンサ１２の検出結果について各サンプリング区間で異常が生じているか否かを判定することができる。特定のサンプリング区間だけで異常が生じていると判定されても、必ずしも作業ロボット１０の一連の工程について異常が生じているとは限らない。そこで、各サンプリング区間の異常判定について、識別器の基準からの乖離度を異常スコアに変換し、複数のサンプリング区間の異常スコアの累積値が閾値を上回った場合に、異常が生じていると判定することが好ましい。以下、異常スコアの累積値が閾値を上回った場合に、異常が生じていると判定する例について説明する。なお、複数のセンサ１２の測定データを用いる場合には、各センサ１２の測定データに重み（係数）を設定することで、総合的な異常判定を行うことができる。
【００４３】
図１２は、異常判定の閾値を設定する場合に判定装置４０が行う処理を表すフローチャートを例示する図である。図１２で例示するように、作業ロボット１０の一連の工程の全サンプリング区間で用いる識別器およびその重みが設定された後、異常判定処理部４６は、各センサ１２の検出結果に重みを表す係数を設定する（ステップＳ２１）。
【００４４】
次に、異常判定処理部４６は、各学習データについて、各サンプリング区間の異常スコアを算出する（ステップＳ２２）。例えば、３σ識別器の出力（異常スコア）をＳｇとし、１クラス型ＳＶＭ識別器および２クラス型ＳＶＭ識別器の出力（異常スコア）をＳｖとし、統合異常スコアをＳとする。また、３σ識別器の重みをｗ１とし、１クラス型ＳＶＭ識別器および２クラス型ＳＶＭ識別器の重みをｗ２とする。この場合、下記式（４）および下記式（５）が成立する。
Ｓ＝ｗ１Ｓｇ＋ｗ２Ｓｖ      （４）
ｗ１＋ｗ２＝１      （５）
【００４５】
次に、異常判定処理部４６は、各センサ１２の測定データについて、各サンプリング区間を経過するごとに統合異常スコアＳの累積値を算出し、当該累積値と各センサ１２の係数とを乗算し、得られた値の総和を総合異常スコアとして算出する（ステップＳ２３）。次に、学習部４４は、各学習データについてステップＳ２３で得られた総合異常スコアから、異常判定閾値を設定する（ステップＳ２４）。
【００４６】
図１３は、異常判定閾値の設定後に、作業ロボット１０が一連の工程を行う場合の異常判定を行う場合に実行されるフローチャートを例示する図である。図１３で例示するように、データ格納部４１は、各センサ１２の測定データを異常判定用データとして一時的に格納する（ステップＳ３１）。次に、異常判定処理部４６は、未選択のサンプリング区間を選択する（ステップＳ３２）。次に、異常判定処理部４６は、各センサ１２の測定データについて、上記式（４）および上記式（５）を用いて、選択されたサンプリング区間の異常スコアを算出する（ステップＳ３３）。
【００４７】
次に、異常判定処理部４６は、各センサ１２の検出結果について、統合異常スコアＳの累積値を算出し、当該累積値と各センサ１２の係数とを乗算し、得られた値の総和を、総合異常スコアとして算出する（ステップＳ３４）。次に、異常判定処理部４６は、ステップＳ３４で算出された総合異常スコアが異常判定閾値を上回ったか否かを判定する（ステップＳ３５）。ステップＳ３５で「Ｙｅｓ」と判定された場合、異常判定処理部４６は、異常に係る情報を出力する（ステップＳ３６）。その後、フローチャートの実行が終了する。ステップＳ３５で「Ｎｏ」と判定された場合、異常判定処理部４６は、全ての区間が終了したか否かを判定する（ステップＳ３７）。具体的には、未選択のサンプリング区間が無いか否かが判定される。ステップＳ３７で「Ｙｅｓ」と判定された場合、フローチャートの実行が終了する。ステップＳ３７で「Ｎｏ」と判定された場合、ステップＳ３２から再度実行される。
【００４８】
図１４（ａ）および図１４（ｂ）は、所定の範囲でランダムに発生させたサンプルデータ（特徴次元数２）を用いて、データ数と識別性能（評価用データの正解率）との関係をシミュレーションで調べた結果である。正常作業データ数と異常作業データ数との比は、常に９：１になるように設定してある。図１４（ａ）および図１４（ｂ）において、横軸は学習データのサンプル数であり、縦軸は評価用データに対する正解率である。当該正解率は、別途用意した評価用データ１０００個（正常作業データ：９００個＋異常作業データ：１００個）に対する正解率である。
【００４９】
図１４（ａ）は、学習用に正常作業データのみを用いたケースで、３σ識別器および１クラス型ＳＶＭ識別器を生成し、それらによる判定正解率を比較したものである。異常作業データの比率を１０％と仮定しているため、３σ識別器もＺスコア値としてＺ＝１．６４を用いた。３σ識別器およびＳＶＭ識別器の両方とも、それぞれ、概ね図６のような曲線を描いていることが分かる。１クラス型ＳＶＭ識別器の正解率が３σ識別器を超えるのは、学習データ数が３０付近となっており、同様の学習条件下では、学習データ数が０〜６０の間で図７のように順次重みを変化させるように設定することができる。
【００５０】
図１４（ｂ）は、学習データの中に１０％の異常作業データを含んだ条件下で２クラス型ＳＶＭ識別器を生成し、１クラス型ＳＶＭ識別器による正解率との比較を示したものである。１クラス型ＳＶＭ識別器でデータ数１５０以上の正解率と、２クラス型ＳＶＭ識別器でデータ数が２０以下の正解率を比較すると、１クラス型ＳＶＭ識別器の正解率が上回っていることが分かる。このようなケースでは、図１１（ｂ）で例示したように、異常作業データ発生後も学習データ数が３０個（異常作業データ数が３個）に達するまでは２クラスＳＶＭ識別器の重みをゼロとし、代わりに、１クラスＳＶＭ識別器の使用を継続するという設定を適用することができる。
【００５１】
本実施例によれば、異常作業データが生じるまでの期間において、３σ識別器および１クラス型ＳＶＭ識別器の出力に、学習データ数に応じてそれぞれ重み係数を設定することで、高い精度で異常判定を行うことができる。特に、異常作業データが生じるまでの期間において、学習データ数が少ない段階では３σ識別器の重みを大きくすることで、１クラス型ＳＶＭ識別器の過学習の影響を抑制することができる。学習データ数が多くなるにつれて１クラス型ＳＶＭ識別器の精度が高くなるため、学習データ数が多くなるにつれて１クラス型ＳＶＭ識別器の重みを大きくすることで、高い精度で異常判定を行うことができる。
【００５２】
異常作業データが生じた後の期間において、３σ識別器および２クラス型ＳＶＭ識別器の出力に、学習データ数に応じてそれぞれ重み係数を設定することで、高い精度で異常判定を行うことができる。特に、異常作業データが生じた後の期間において、異常作業データ数が少ない段階では３σ識別器の重みを大きくすることで、２クラス型ＳＶＭ識別器の過学習の影響を抑制することができる。異常作業データ数が多くなるにつれて２クラス型ＳＶＭ識別器の精度が高くなるため、異常作業データ数が多くなるにつれて２クラス型ＳＶＭ識別器の重みを大きくすることで、高い精度で異常判定を行うことができる。
【００５３】
なお、上記例では、過渡域でのみＳＶＭ識別器を用いているが、定常域で用いてもよい。
【００５４】
（他の例）
図１５（ａ）は、判定装置４０のハードウェア構成を説明するためのブロック図である。図１５（ａ）を参照して、判定装置４０は、ＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、表示装置１０４等を備える。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、中央演算処理装置である。
【００５５】
ＣＰＵ１０１は、１以上のコアを含む。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１が実行するプログラム、ＣＰＵ１０１が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置１０３は、不揮発性記憶装置である。記憶装置１０３として、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリなどのソリッド・ステート・ドライブ（ＳＳＤ）、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置１０３は、判定プログラムを記憶している。表示装置１０４は、液晶ディスプレイ、エレクトロルミネッセンスパネルなどであり、判定結果を表示する。なお、本実施例においては判定装置４０の各部は、プログラムの実行によって実現されているが、専用の回路などのハードウェアを用いてもよい。
【００５６】
図１５（ｂ）は、作業システムについて例示する図である。上記各例においては、判定装置４０は、センサ１２から測定データを取得し、カメラ３０から画像データを取得している。これに対して、判定装置４０の機能を有するサーバ２０２が、インターネットなどの電気通信回線２０１を通じてセンサ１２およびカメラ３０からデータを取得してもよい。
【００５７】
上記各例において、データ格納部４１が、作業ロボットが繰り返し行う一連の工程において、前記作業ロボットに備わるセンサの測定データを格納する格納部の一例として機能する。学習部４４が、前記格納部に格納された測定データのうち正常作業の前記測定データを第１学習データとして用いて、前記一連の工程の異常を判定するための基準として第１基本統計型識別器および第１機械学習型識別器を生成する生成部の一例として機能する。３σ識別器が、第１基本統計型識別器の一例である。１クラス型ＳＶＭ識別器が、第１基本統計型識別器の一例である。基本重み設定部４５が、前記第１基本統計型識別器および前記第１機械学習型識別器の出力に、前記第１学習データ数に応じて、それぞれ重み係数を設定する設定部の一例として機能する。異常判定処理部４６が、前記第１基本統計型識別器および前記第１機械学習型識別器の生成後に前記格納部に格納される前記測定データに対する前記第１基本統計型識別器および前記第１機械学習型識別器の出力のそれぞれと、対応する前記重み係数との乗算値に応じて、前記一連の工程に異常が生じているか否かを判定する判定部の一例として機能する。
【００５８】
また、学習部４４は、前記格納部に異常作業の測定データが格納されると、前記格納部に格納された測定データのうち前記正常作業の測定データと前記異常作業の測定データとを第２学習データとして用いて、前記一連の工程の異常を判定するための基準として第２基本統計型識別器および第２機械学習型識別器を生成する生成部の一例としても機能する。３σ識別器が第２基本統計型識別器の一例である。２クラス型ＳＶＭ識別器が第２機械学習型識別器の一例である。基本重み設定部４５は、前記第２基本統計型識別器および前記第２機械学習型識別器の出力に、前記第２学習データ数に応じて、それぞれ重み係数を設定する設定部としても機能する。異常判定処理部４６は、前記第２基本統計型識別器および前記第２機械学習型識別器の生成後に前記格納部に格納される前記測定データに対する前記第２基本統計型識別器および前記第２機械学習型識別器の出力のそれぞれと、対応する前記重み係数との乗算値に応じて、前記一連の工程に異常が生じているか否かを判定する判定部の一例としても機能する。
【００５９】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００６０】
１０  作業ロボット
１１  ロボットハンド
１２  センサ
２０  コントローラ
３０  カメラ
４０  判定装置
４１  データ格納部
４２  区間弁別部
４３  学習データ数取得部
４４  学習部
４５  基本重み設定部
４６  異常判定処理部
１００  作業装置
【図１】
2018132884.tif 000003
【図２】
2018132884.tif 000004
【図３】
2018132884.tif 000005
【図４】
2018132884.tif 000006
【図５】
2018132884.tif 000007
【図６】
2018132884.tif 000008
【図７】
2018132884.tif 000009
【図８】
2018132884.tif 000010
【図９】
2018132884.tif 000011
【図１０】
2018132884.tif 000012
【図１１】
2018132884.tif 000013
【図１２】
2018132884.tif 000014
【図１３】
2018132884.tif 000015
【図１４】
2018132884.tif 000016
【図１５】
2018132884.tif 000017