(57)【要約】【課題】  ロボットの作業成否をセンサ出力信号パターンに基づいて効率的かつ正確に判定する。【解決手段】  ロボットの作業状態を検出するためのセンサの出力信号に基づいて、前記ロボットが遂行する作業の成否を判定するロボットの作業成否判定方法において、少なくとも１つの前記センサの出力信号と前記ロボットに対する動作指令とを要素とするベクトル量の時間的変化の特徴に基づいて、前記ロボットの作業成否を判定する。【選択図】図２
2009045678.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの作業状態を検出するためのセンサの出力信号に基づいて、前記ロボットが遂行する作業の成否を判定するロボットの作業成否判定方法において、
少なくとも１つの前記センサの出力信号と前記ロボットに対する動作指令とを要素とするベクトル量の時間的変化の特徴に基づいて、
前記ロボットの作業成否を判定することを特徴とするロボットの作業成否判定方法。
【請求項２】
ロボットの作業状態を検出するためのセンサの出力信号に基づいて、前記ロボットが遂行する作業の成否を判定するロボットの作業成否判定方法において、
少なくとも１つの前記センサの出力信号と前記ロボットに対する動作指令とを要素とする第１ベクトル量の時間軌跡と、予め記憶した作業成功時における前記第１ベクトル量の時間軌跡である第２ベクトル量の時間軌跡と、の一致度に基づいて、
前記ロボットの作業成否を判定することを特徴とするロボットの作業成否判定方法。
【請求項３】
前記一致度は、前記第１および第２ベクトル量の時間軌跡をそれぞれ画像処理して得られた画像データ間のパターンマッチングにより求められることを特徴とする請求項２記載のロボットの作業成否判定方法。
【請求項４】
ロボットの作業状態を検出するためのセンサの出力信号に基づいて、前記ロボットが遂行する作業の成否を判定するロボットの作業成否判定方法において、
少なくとも１つの前記センサの出力信号と前記ロボットに対する動作指令とを要素とする第１ベクトル量の時間軌跡と、予め記憶した前記作業成功時および前記作業失敗時における前記第１ベクトル量の時間軌跡である第２および第３のベクトル量の時間軌跡と、の一致度である第１および第２の値をそれぞれ求め、
前記第１および第２の値の大小に基づいて作業成否を判定することを特徴とするロボットの作業成否判定方法。
【請求項５】
前記一致度は、前記ベクトル量の時間軌跡および前記第２、第３のベクトル量の時間軌跡をそれぞれ画像処理して得られた画像データ間のパターンマッチングにより求められることを特徴とする請求項４記載のロボットの作業成否判定方法。
【請求項６】
前記動作指令に代えて、前記ロボットを駆動するアクチュエータの回転角度を検出する回転角センサに基づいて求められた位置情報としたことを特徴とする請求項１乃至５いずれかに記載のロボットの作業成否判定方法。
【請求項７】
前記作業は嵌合作業であり、
前記センサは、力モーメントセンサであり、
前記動作指令は、位置指令であることを特徴とする請求項１乃至５いずれかに記載のロボットの作業成否判定方法。
【請求項８】
ロボットと、前記ロボットの作業状態を検出するための少なくとも１つのセンサと、前記ロボットと接続されたコントローラと、を備え、前記ロボットが遂行する作業の成否を判定するロボットシステムにおいて、
前記コントローラは、前記センサの出力を運動学変換あるいは座標変換するセンサ出力変換部と、
前記センサ出力変換部から出力されるセンサ出力信号および前記ロボットに対する動作指令信号の中から、教示作業者によって選択された信号を出力する信号選択部と、
前記信号選択部から出力された前記センサ出力信号と前記動作指令信号と要素とするベクトル量の時間軌跡を所定時間分記憶する記憶部と、
前記ベクトル量の時間軌跡の作業成功時または作業失敗時の時間的変化の特徴を教示作業者が設定するための特徴設定手段と、
前記記憶部に記憶されたベクトル量の時間軌跡および前記特徴設定手段で設定された特長に基づいて、作業成否を判定する作業成否判定部と、
前記判定された作業成否を前記教示作業者に示す判定結果表示手段と、を備えたことを特徴とするロボットシステム。
【請求項９】
前記動作指令に代えて、前記ロボットを駆動するアクチュエータの回転角度を検出する回転角センサに基づいて求められた位置情報としたことを特徴とする請求項８に記載のロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットなどのロボットが遂行する作業の成否を判定する方法およびロボットシステムに関する。
【背景技術】
【０００２】
産業用ロボットは、ハンドリング、溶接、塗装、組立など多岐に渡る用途に普及しているが、ワークとワークの接触を伴う組立用途については、他用途比べてあまり普及していない。その理由の一つに、変化する作業環境において接触作業の成否を正確に判定するのが難しいことが挙げられる。
多関節ロボットマニピュレータ（以降、ロボットと呼ぶ）による嵌め合い作業を例に説明する。
【０００３】
図６は、ロボットによる嵌め合い作業の一般的なシステム構成図を示している。図６において、６０１はロボット、６０２ａ〜６０２ｄはロボット６０１の各関節を駆動するアクチュエータである。６０３は、アクチュエータ６０２ａ〜６０２ｄの運動を制御してロボット６０１を動作させるコントローラ（制御装置）である。６０４はロボット６０１の先端に設けられたグリッパである。６０５ａはグリッパ６０４で把持するワーク（嵌合部品）である。６０５ｂはワーク６０５ａが嵌め合わされる穴が空いたワーク（被嵌合部品）である。
【０００４】
図７は、嵌め合い作業の開始状態と終了状態を示している。図７（ａ）に示すように、グリッパ６０４で円柱形状のワーク６０５ａを把持した状態で、ワーク６０５ａをワーク６０５ｂの穴方向（図ではZ負方向）に移動させ、穴に接触させて押し付ける。図７（ｂ）は、嵌め合いが成功した状態を示しており、ワーク６０５ａのエッジ全体がワーク６０５ｂの穴に嵌っている。図７（ｃ）は、嵌め合いが失敗した例を示しており、ワーク６０５ａのエッジの一部がワーク６０５ｂの穴のエッジに乗り上げて噛み付きが生じている。
【０００５】
ワークと穴のクリアランスが小さい場合、グリッパ６０４（ワーク６０５ａ）の位置を制御しただけでは、上述したような噛み付きが発生し、嵌め合い作業の遂行は困難である。ワークとワークの接触を伴う作業の場合、ワークが受ける力およびモーメントを検出する力モーメントセンサをロボットのエンドエフェクタに取り付け、検出した力・モーメントに応じてロボットの運動を制御（以降、力制御と呼ぶ）するのが一般的（公知の技術）である。力制御の実現方法を図６に基づいて簡単に説明する。
６０６ａ〜６０６ｄは、アクチュエータ６０２ａ〜６０２ｄの回転角度を検出する回転角センサである。６０７はロボット６０１のエンドエフェクタ（グリッパ６０４）に取り付けられた力モーメントセンサである。６０８は回転角センサ６０６ａ〜６０６ｄからの信号をもとにワーク６０５ａの位置姿勢を計算して出力するセンサ出力変換部である。６０９は、力モーメントセンサ６０７からの信号をもとにワーク６０５ａが受ける力およびモーメントを計算して出力するセンサ出力変換部である。６１０はセンサ出力変換部６０８および６０９からのセンサ出力信号をもとにフィードバック制御系を構成して、アクチュエータ６０２ａ〜６０２ｄへの駆動力を調節する動作制御部である。６１１は動作制御部６１０に対して位置姿勢および力モーメントに関する目標指令を与える動作指令部である。動作制御部６１０で実現する力制御としては、ワーク６０５ａが受ける反力に対して仮想的な柔軟性（バネ特性）を実現するインピーダンス制御やコンプライアンス制御が一般的である（公知の技術）。ワーク６０５ａに仮想的に実現したバネ特性により、ロボットの位置決め誤差やワーク６０５ｂの位置誤差を許容して嵌め合い作業が可能になる。
ただし、誤差の許容能力には限界があり、100％の成功率を保証できるわけではないので、作業実行時に複数のセンサ出力信号を利用して作業成否を判定し、不良品をそのままつぎの工程（ライン）に流さないようにする必要がある。
【０００６】
ロボットの作業遂行状況を監視あるいは判定する方法あるいは装置として、ロボットに設けられたセンサの出力信号を利用する技術がある。
例えば、特許文献１では、ロボットのエンドエフェクタに外部環境を認識するセンサを設け、センサ出力信号を監視者が感知しうる物理的な変動（音、光、振動など）に変換して監視者に知らしめる装置が開示されている。センサ出力信号に比例して音量、発光強度、加振力を変化させることにより、過負荷状態に至るまでの連続的な状態変化を監視者に提示し、監視者の判断により危険回避行動をとるものである。
特許文献１では、最終的な判断は人間に任せるものであるが、この判断を自動化した技術が特許文献２に開示されている。特許文献２では、作業成功時に予想されるセンサ出力データの時系列パターンを予め与えておき、このパターンを折れ線近似して、その折れ線部を状態、接点部を状態遷移のためのイベントとみなして状態遷移図を作成し、各状態とイベントに許容範囲を設定した上で作業実行時の状態遷移を逐次監視することによって、作業成否を自動判定している。
特許文献３では、嵌め合い作業において、反力が所定値以下のまま所定の嵌合深さまで下降移動したら嵌め合いが成功したと判断して作業を終了し、反力が所定値を超えたら、ワークを垂直線軸回りにひねり動作後、下降移動を繰り返している（リトライ）。
【特許文献１】特開平７−２５１３９４号公報（第３−６頁、図２）
【特許文献２】特開平１１−６５６４９号公報（第３−６頁、図１）
【特許文献３】特許第３０９７３９３号公報（第４−５頁、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
単一のセンサ出力信号の時系列パターンだけでは、本質的に作業成否を判定できない場合、複数センサの出力信号の時系列パターンを監視する必要があるが、従来技術では、複数センサへの拡張が容易ではない、あるいは複数センサ出力を独立に監視しているため、効率的かつ正確な判定ができないという問題がある。
特許文献１では、センサが複数になった場合の具体的な信号変換方法については述べられておらず、複数センサ信号出力の組合せの状態を監視者に直感的に知らしめるのは容易ではない。
【０００８】
特許文献２では、同一センサの複数の出力信号パターンに対応する状態遷移図を組み合せる例は示されているが、異なるセンサ出力に基づく状態遷移図の組合せ方法については何も述べられていない。異なるセンサ出力の状態遷移図を単純に組み合せただけでは、状態遷移の監視処理が複雑になるため、非効率で現実的ではない。
【０００９】
特許文献３では、反力と嵌合深さ、という複数のセンサ出力の大小を監視して成否判定している。しかしながら、反力の大小はロボットの動作速度に依存し、嵌合深さはワーク形状やワーク位置誤差に依存するので、それぞれの大小を個別（独立）に監視しているだけでは変化する作業環境において正確な成否判定ができず、リトライ動作を延々と繰り返すことになる。
【００１０】
本発明はこのような状況を鑑みてなされたものであり、ロボットの作業成否を複数のセンサ出力信号パターンと動作指令パターンに基づいて効率的かつ正確に判定する方法および装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記問題を解決するため、本発明は次のようにしたのである。
請求項１に記載の発明は、ロボットの作業状態を検出するためのセンサの出力信号に基づいて、前記ロボットが遂行する作業の成否を判定するロボットの作業成否判定方法において、少なくとも１つの前記センサの出力信号と前記ロボットに対する動作指令とを要素とするベクトル量の時間的変化の特徴に基づいて、前記ロボットの作業成否を判定することを特徴とするものである。
請求項２に記載の発明は、ロボットの作業状態を検出するためのセンサの出力信号に基づいて、前記ロボットが遂行する作業の成否を判定するロボットの作業成否判定方法において、少なくとも１つの前記センサの出力信号と前記ロボットに対する動作指令とを要素とする第１ベクトル量の時間軌跡と、予め記憶した作業成功時における前記第１ベクトル量の時間軌跡である第２ベクトル量の時間軌跡と、の一致度に基づいて、前記ロボットの作業成否を判定することを特徴とするものである。
請求項３に記載の発明は、前記一致度は、前記第１および第２ベクトル量の時間軌跡をそれぞれ画像処理して得られた画像データ間のパターンマッチングにより求められることを特徴とするものである。
請求項４に記載の発明は、ボットの作業状態を検出するためのセンサの出力信号に基づいて、前記ロボットが遂行する作業の成否を判定するロボットの作業成否判定方法において、少なくとも１つの前記センサの出力信号と前記ロボットに対する動作指令とを要素とする第１ベクトル量の時間軌跡と、予め記憶した前記作業成功時および前記作業失敗時における前記第１ベクトル量の時間軌跡である第２および第３のベクトル量の時間軌跡と、の一致度である第１および第２の値をそれぞれ求め、前記第１および第２の値の大小に基づいて作業成否を判定することを特徴とするものである。
請求項５に記載の発明は、前記一致度は、前記ベクトル量の時間軌跡および前記第２、第３のベクトル量の時間軌跡をそれぞれ画像処理して得られた画像データ間のパターンマッチングにより求められることを特徴とするものである。
請求項６に記載の発明は、前記動作指令に代えて、前記ロボットを駆動するアクチュエータの回転角度を検出する回転角センサに基づいて求められた位置情報としたことを特徴とするものである。
請求項７に記載の発明は、前記作業は嵌合作業であり、前記センサは、力モーメントセンサであり、前記動作指令は、位置指令であることを特徴とするものである。
請求項８に記載の発明は、ロボットと、前記ロボットの作業状態を検出するための少なくとも１つのセンサと、前記ロボットと接続されたコントローラと、を備え、前記ロボットが遂行する作業の成否を判定するロボットシステムにおいて、前記コントローラは、前記センサの出力を運動学変換あるいは座標変換するセンサ出力変換部と、前記センサ出力変換部から出力されるセンサ出力信号および前記ロボットに対する動作指令信号の中から、教示作業者によって選択された信号を出力する信号選択部と、前記信号選択部から出力された前記センサ出力信号と前記動作指令信号と要素とするベクトル量の時間軌跡を所定時間分記憶する記憶部と、前記ベクトル量の時間軌跡の作業成功時または作業失敗時の時間的変化の特徴を教示作業者が設定するための特徴設定手段と、前記記憶部に記憶されたベクトル量の時間軌跡および前記特徴設定手段で設定された特長に基づいて、作業成否を判定する作業成否判定部と、前記判定された作業成否を前記教示作業者に示す判定結果表示手段と、を備えたことを特徴とするものである。
請求項９に記載の発明は、前記動作指令に代えて、前記ロボットを駆動するアクチュエータの回転角度を検出する回転角センサに基づいて求められた位置情報としたことを特徴とするものである。
【発明の効果】
【００１２】
本発明によると、ロボットに設けられた複数のセンサ出力信号と動作指令の相互変化を監視して、相互変化の瞬間的な時間変化の特徴を検知したり、成功時あるいは失敗時の相互変化の軌跡との一致度を比較したりするので、作業成否を効率的かつ正確に判定できるという効果がある。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の方法の具体的実施例について、図６および７に示した嵌め合い作業を例に説明する。
図８は、嵌め合い作業「成功時」のワーク６０５ａのZ方向の位置Pzおよび反力Fzの時系列パターンの模式図である。なお、位置Pzは、位置指令をそのまま位置とみなしたものであるが、回転角センサが検出する各アクチュエータの回転角度に基づいて求めた位置であっても良い。さらには、ロボットの外部に設けた何らかの位置センサにより直接求めたワーク位置であっても良い。
時刻Taでワーク６０５ａとワーク６０５ｂが接触開始し、位置Pzは変化しないまま反力Fzのみが増加を始める。時刻Tbになると位置Pzおよび反力Fzともに減少に転じ、時刻Tcを過ぎると位置Pzおよび反力Fzともに一定値に落ち着く。
一方、図９は、嵌め合い作業「失敗時」の位置Pzと反力Fzの時系列パターンの模式図である。時刻Taでワーク６０５ａとワーク６０５ｂが接触開始し、位置Pzは変化しないまま反力Fzのみが増加を始めるまでは「成功時」と同様であるが、「失敗時」では、時刻Tb以降も位置Pzが一定のまま反力Fzが増加し続け、時刻Tcになって両方とも一定値に落ち着く。
図８および図９を比較すれば分かるように、嵌め合い作業の成否を判定するには「位置Pzおよび反力Fzともに減少に転じる区間」の有無を検出すればよい。このように、接触作業中は位置と力は相互に影響しあって変化するので、それぞれのセンサ出力の時系列パターンにおける特徴の有無を単独に監視するのではなく、本発明では、位置Pzの変化に対する反力Fzの変化というように相互変化を監視する。
図１０は嵌め合い作業「成功時」の位置Pzと反力Fzの相互変化の軌跡を模式的に示したものである。図１１は嵌め合い作業「失敗時」の位置Pzと反力Fzの相互変化の軌跡を模式的に示したものである。これらは、位置Pzおよび反力Fzを座標軸にした状態空間に相当する。したがって、相互変化の軌跡は、状態空間におけるベクトル軌跡になる。
【実施例１】
【００１４】
図１は、本発明の第１実施例におけるロボットの状態判定装置の構成図である。図１において、図６と同様の符号を付した要素については、図６と同様であり、既に（従来技術において）説明済みであるため、ここでの説明は省略する。
図１において、１０１は、センサ出力変換部６０８および６０９から出力される複数の信号出力の中から、状態判定に使用する信号を選択する信号選択部である。１０２は、利用可能なセンサ出力群の中から、使用するものを教示作業者が指定するための選択指定手段である。１０３は、信号選択部１０１で選択された複数のセンサ出力信号について、そのセンサ出力信号間の相互変化をベクトル量として一定時間分記憶する相互変化記憶部である。１０４は、相互変化記憶部１０３に記憶された相互変化の軌跡から、予め指定された特徴の有無を検出して作業成否を判定する作業成否判定部である。１０５は、作業成否判定部１０４が検出する特徴を教示作業者が設定するための特徴設定手段である。１０６は、作業成否判定部１０４の判定結果を教示作業者に提示する判定結果表示手段である。    
なお、図１の構成図では、１０１から１０６はコントローラ６０３の構成要素となっているが、本発明はこれに囚われるものではなく、１０１から１０６をコントローラ６０３とは異なる装置に実装しても良い（効果は同じである）。
【００１５】
つぎに相互変化記憶部１０３から作業成否判定部１０４までの判定処理の流れについて具体的に説明する。第１実施例では、図１０において時刻Tbに生じるベクトル軌跡の変化と時刻Tcでの最終到達点の２つを特徴としてそれらの有無を検出して成否を判定する。
なお、信号選択部１０１については、穴方向（図７のZ方向）の位置Pzと反力Fzが選択されている場合に限定して説明するが、本発明はこれに囚われるものではない。本願において、位置Pzと反力Fzを選択しているのは、嵌め合い作業においては嵌合方向の位置と力に成否の特徴が顕著に表れるからである。
【００１６】
図２は、第１実施例における相互変化記憶部１０３と作業成否判定部１０４の処理のフローチャートである。
図２において、S201では、嵌め合い動作中（動作指令払い出し中）であるかどうかが判断される。動作中である場合、S202に移り、相互変化ベクトル（Pz(k),Fz(k)）をサンプリングし、現サンプリング時刻ｋからL-1サンプリング時刻前までの相互変化ベクトルをバッファ２１３に格納する。ここで、相互変化ベクトルとは、上述の位置Pzと力Fzのように異なる物理量を要素に持ったベクトルのことをいう。また、Pz(k)は時刻kにおける位置Pzを表し、他の信号についても同様に表すものとする。S203では、バッファ２１３に格納されたＬ個のサンプリングデータに対して平均化演算を施し、平均ベクトル（Pz_ave(k),Fz_ave(k)）を求め、１サンプリング時刻前までの平均ベクトルをバッファ２１４に格納する。S204では、バッファ２１４に格納された２つの平均ベクトルに対して差分演算を実施し、差分ベクトル２１５（ΔPz(k),ΔFz(k)）を求める。S205では、現サンプリング時刻ｋからM-1サンプリング時刻前までの差分ベクトルをバッファ２１６に格納する。S206では、バッファ２１６に格納されたＭ個のデータに対して平均化演算を施し、平均差分ベクトル２１７（ΔPz_ave(k),ΔFz_ave(k)）を求める。S207では、特徴設定手段１０５によって予め設定された「成功時」の特徴差分ベクトル２１８（ΔPz_succ,ΔFz_succ）と、平均差分ベクトル２１７との偏差E1をつぎのように計算して閾値１と比較することにより照合演算する。
【００１７】
E1(k)＝  −平均差分ベクトル２１７と特徴差分ベクトル２１８の内積
÷平均差分ベクトル２１７の絶対値÷特徴差分ベクトル２１８の絶対値
式（１）
【００１８】
偏差E1は−1から＋１までの値をとり、−１に近いほど一致度が高い。偏差E1と予め設定した閾値１（例えば-0.9）を比較し、偏差E1が閾値１未満であればTRUE（成功）を出力し、閾値１以上であればFALSE（失敗）を出力する。ここで、特徴差分ベクトル２１８は、図１０のベクトル軌跡において、時刻TbからTcに向かう軌跡をベクトルとして設定する。
S207の照合演算の出力結果がFALSEの場合はS201に戻り同様の処理を続ける。出力結果がTRUEの場合は、S208に移る。S208では、特徴設定手段１０５によって予め設定された「成功時」の特徴終端ベクトル２１９（Pz_succ_end,Fz_succ_end）と、平均ベクトル（Pz_ave(k),Fz_ave(k)）との偏差E2をつぎのように計算して閾値２と比較することにより照合演算する。
【００１９】
E2(k)＝ ( Pz_ave(k)-Pz_succ_end )2 ＋ ( Fz_ave(k)-Fz_succ_end )2  式（２）
【００２０】
偏差E2は、特徴終端ベクトル２１９と現サンプリング時刻ｋの平均ベクトルとの差の絶対値の二乗に相当する。偏差E2と予め設定した閾値２（例えば0.1）を比較し、偏差E2が閾値２未満であればTRUE（成功）を出力し、閾値２以上であればFALSE（失敗）を出力する。ここで、特徴終端ベクトル２１９は、図１０のベクトル軌跡において、最終到達点（ｔ＝Tc）のベクトルを設定する。なお、上記偏差E2の平方根をとったもの（すなわち距離）を偏差E2としてもよい。
【００２１】
S208の照合演算の出力結果がTRUEの場合は、嵌め合い成功と判定結果が出力され（S209）、正常終了する（S210）。S208の照合演算の出力結果がFALSEの場合は、S201に戻り、上述の処理を繰り返す。
S201で動作中ではないと判断された場合は、嵌め合い作業中に「成功」と判断されなかったことを意味するので、嵌め合い失敗と判定結果を出力し（S211）、異常終了する（S212）。
以上説明したように、嵌め合い方向の位置と反力の相互変化の軌跡（ベクトル軌跡）の特徴検知に着目することによって、平均化や差分や照合演算を直列的に処理するだけでよく、効率的かつ確実な作業成否判定が可能になる。
【実施例２】
【００２２】
図３は、本発明の第２実施例における相互変化記憶部１０３と作業成否判定部１０４の処理のフローチャートである。装置の構成については、第１実施例（図１）と同様であるため説明を省略する。
図３において、S301では、嵌め合い動作中であるかどうかを判断する。動作中である場合、S302では相互変化ベクトル（Pz(k),Fz(k)）をサンプリングし、現サンプリング時刻ｋからH-1サンプリング時刻前までのデータをバッファ３１１に格納する。S303では、バッファ３１１に格納されたＨ個のサンプリングデータに対して、平均化演算を施し、平均ベクトル３１２（Pz_ave(k),Fz_ave(k)）を求める。S304では、特徴設定手段１０５によって予め記憶された嵌め合い「成功時」の相互変化ベクトル軌跡３１３から、現サンプリング時刻ｋに該当する相互変化ベクトル（Pz_succ(k),Fz_succ(k)）を読み出す。S305では、S304で読み出した「成功時」の相互変化ベクトル（Pz_succ(k),Fz_succ(k)）と、S303で計算した平均ベクトル３１２（Pz_ave(k),Fz_ave(k)）との偏差E3をつぎのように計算して、照合演算する（偏差の初期値E3(0)はゼロとする）。
【００２３】
E3(k) ＝ E3(k-1) ＋
｛ ( Pz_succ(k)-Pz_ave(k) )2 ＋ ( Fz_succ(k)-Fz_ave(k) )2｝／Ｎ     式（３）
【００２４】
ただし、Ｎは動作中における総サンプリング数である。
S301において動作が終了したと判断されると、S306に移り、偏差E3と予め設定した閾値３が比較される。偏差E3が閾値３未満の場合は、嵌め合い成功と判定結果が出力され（S307）、正常終了する（S308）。偏差E3が閾値３以上の場合は、嵌め合い失敗と判定結果が出力され（S309）、異常終了する（S310）。
【００２５】
第２実施例では、第１実施例のように相互変化ベクトル軌跡の一部の特徴を検出するのではなく、成功時のベクトル軌跡全体との平均的な一致度を評価して成否を判定する。第１実施例の場合、成功時の特徴として、図１０のベクトル軌跡において時刻Tbから時刻Tcに向かう直線的な軌跡を仮定して成否判断をしていた。成功時のベクトル軌跡の特徴が曲線的であったり、ジグザクのような複雑な形状であったりすると対応できないので、特徴の形状に併せてアルゴリズム（プログラム）を都度変更する必要がある。それに対して、第２実施例では、成功時のベクトル軌跡全体をメモリに記憶しておかなければならないが、成功時に見られる特徴が変化してもアルゴリズム（プログラム）上の変更が必要ないので、作業条件の変化や他作業にも対応しやすい。
【実施例３】
【００２６】
図４は、本発明の第３実施例における相互変化記憶部１０３と作業成否判定部１０４の処理のフローチャートである。装置の構成については、第１実施例（図１）と同様であるため説明を省略する。
図４のS404までの処理は、図３のS304までの処理（第３実施例）と全く同様であるため、説明を省略する。S405では、特徴設定手段１０５によって予め記憶された嵌め合い「失敗時」の相互変化ベクトル軌跡４１３から、現サンプリング時刻ｋに該当する相互変化ベクトル（Pz_fail(k),Fz_fail(k)）を読み出す。S406では、第３実施例のS305と同様の照合演算を実施して偏差E3を計算する。一方、S407では、S405で読み出した「失敗時」の相互変化ベクトル（Pz_fail(k),Fz_fail(k)）と、S403で計算した平均ベクトル３１２（Pz_ave(k),Fz_ave(k)）との偏差E4をつぎのように計算して、照合演算する（偏差の初期値E4(0)はゼロとする）。
【００２７】
E4(k) ＝ E4(k-1) ＋
｛ ( Pz_fail(k)-Pz_ave(k) )2 ＋ ( Fz_fail(k)-Fz_ave(k) )2｝／Ｎ     式（４）
【００２８】
ただし、Ｎは動作中における総サンプリング数である。
偏差E4の計算は、偏差E3の計算における「成功時」の相互変化ベクトル軌跡を「失敗時」のものにデータを置き換えただけであり、計算処理自体は同じである。
S401において嵌め合い動作が終了したと判断されると、S408に移り、偏差E3と偏差E4が比較される。偏差E3が偏差E4未満の場合は、嵌め合い成功と判定結果が出力され（S409）、正常終了する（S410）。偏差E3が偏差E4以上の場合は、嵌め合い失敗と判定結果が出力され（S411）、異常終了する（S412）。
第３実施例では、作業遂行時の相互変化ベクトル軌跡について、成功時と失敗時の両方のベクトル軌跡全体との平均的な一致度を評価し、ベクトル軌跡がより一致している方を判定結果としている。第２実施に比べて予め記憶しておかなければならないメモリ容量は倍になるが、煩わしい閾値の設定が不要であり、判定結果が閾値の設定に依存しない。
【実施例４】
【００２９】
図５は、本発明の第４実施例における相互変化記憶部１０３と作業成否判定部１０４の処理のフローチャートである。装置の構成については、第１実施例（図１）と同様であるため説明を省略する。
図５において、S501で嵌め合い動作中と判断されると、S502で相互変化ベクトルをサンプリングし、サンプリングしたデータを全てバッファ５１１に格納する。S501で動作が終了したと判断されるとS503に移り、バッファ５１１に格納された相互変化ベクトルの軌跡を正規化して画像データ５１２に変換する。S504では、特徴設定手段１０５によって予め記憶された嵌め合い「成功時」の相互変化ベクトル軌跡の画像データ５１３と、画像データ５１２とのパターンマッチングを実施して、マッチングの結果を偏差E5として記憶する。S505では、特徴設定手段１０５によって予め記憶された嵌め合い「失敗時」の相互変化ベクトル軌跡の画像データ５１４と、画像データ５１２とのパターンマッチングを実施して、マッチングの結果を偏差E6として記憶する。S506では、偏差E5と偏差E6が比較される。偏差E5が偏差E6未満の場合は、嵌め合い成功と判定結果が出力され（S507）、正常終了する（S508）。偏差E5が偏差E6以上の場合は、嵌め合い失敗と判定結果が出力され（S509）、異常終了する（S510）。なお、S505の照合演算を実施せずに、S506において、偏差E5を予め設定した閾値４と比較して同様に成否判定してもよい。
画像データへの変換（S503）やパターンマッチング（S504およびS505）については、文献などの開示されている公知の技術を利用すればよい。
ワークの材質、ワークの位置（接触位置）、動作速度など諸条件が変更されると、相互変化ベクトルの軌跡が、平行移動、回転、拡大あるいは縮小など変形するが、ベクトル軌跡を画像データに変換してからパターンマッチングすることにより、これらの変形に対してロバスト（頑健）な成否判定が可能になる。
【００３０】
上記各実施例では、相互変化ベクトルの成分は２つであるが、複数であっても当該ベクトルを拡張して考えればよいので、容易に適用できる。すなわち、２つのセンサだけでなく、複数のセンサに基づいて、作業成否の判定ができる。なお、センサは、ロボットに設けられていなくてもかまわない。
また、信号の選択については、上記実施例の円柱ワークの嵌め合い作業においては、嵌合方向の位置と力を選択したが、位相合せが必要なギアの嵌め合い作業においては、嵌合方向の位置と力に加えて回転方向周りの回転角度とモーメントを選択してもよい。要するに、作業成否を判断するのに必要と考えられるセンサ信号をそのまま選択すればよい。
また、ロボットだけでなく、工作機械をはじめとする任意の装置に容易に適用できる。
【産業上の利用可能性】
【００３１】
本発明は、ハンドリング・溶接・塗装・組立等を用途とする産業用ロボットにおいて、ロボットに設けられた複数のセンサ出力信号に基づいて効率的かつ正確に作業成否を判定でき、製造ラインにおける不良を防止することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明におけるロボットの状態判定装置の構成図
【図２】本発明の第１実施例における相互変化記憶部と作業成否判定部のフローチャート
【図３】本発明の第２実施例における相互変化記憶部と作業成否判定部のフローチャート
【図４】本発明の第３実施例における相互変化記憶部と作業成否判定部のフローチャート
【図５】本発明の第４実施例における相互変化記憶部と作業成否判定部のフローチャート
【図６】嵌め合い作業におけるシステム構成図
【図７】嵌め合い作業の開始状態と終了状態を示した図
【図８】嵌め合い作業成功時の位置と反力の時系列パターンの模式図
【図９】嵌め合い作業失敗時の位置と反力の時系列パターンの模式図
【図１０】嵌め合い作業成功時の位置と反力の相互変化のベクトル軌跡
【図１１】嵌め合い作業失敗時の位置と反力の相互変化のベクトル軌跡
【符号の説明】
【００３３】
１０１ 信号選択部
１０２ 選択指定手段
１０３ 相互変化記憶部
１０４ 作業成否判定部
１０５ 特徴設定手段
１０６  判定結果表示手段
２１３，３１１       相互変化ベクトルのバッファ
２１４ 相互変化の平均ベクトルのバッファ
２１５ 相互変化の差分ベクトル
２１６ 相互変化の差分ベクトルのバッファ
２１７ 相互変化の平均差分ベクトル
２１８ 相互変化の特徴差分ベクトル
２１９ 相互変化の特徴終端ベクトル
３１２ 相互変化の平均ベクトル
３１３ 作業成功時の相互変化ベクトルの軌跡データ
４１３ 作業失敗時の相互変化ベクトルの軌跡データ
５１２ 相互変化ベクトル軌跡の画像データ
５１３ 作業成功時の相互変化ベクトル軌跡の画像データ
５１４ 作業失敗時の相互変化ベクトル軌跡の画像データ
６０１ ロボット
６０２ａ〜６０２ｄ  アクチュエータ
６０３ コントローラ
６０４ グリッパ
６０５ａ，６０５ｂ  ワーク
６０６ａ〜６０６ｄ  回転角度センサ
６０７ 力モーメントセンサ
６０８，６０９         センサ出力変換部
６１０ 動作制御部
６１１ 動作指令部
【図１】
2009045678.tif 000003
【図２】
2009045678.tif 000004
【図３】
2009045678.tif 000005
【図４】
2009045678.tif 000006
【図５】
2009045678.tif 000007
【図６】
2009045678.tif 000008
【図７】
2009045678.tif 000009
【図８】
2009045678.tif 000010
【図９】
2009045678.tif 000011
【図１０】
2009045678.tif 000012
【図１１】
2009045678.tif 000013