(57)【要約】【課題】周辺環境の影響を受けず、作業の邪魔になり難く、ワークの個体差やラッチ有無の影響を受けずにロボットによる作業の成否を判定する作業成否判定装置及び方法を提供する。【解決手段】作業成否判定装置は、ロボットによる作業対象物に対する所定の作業の実行後、ロボットの手先に取り付けられた弾性変形領域を持つ位置・姿勢検出手段が、作業対象物に関連する所定の位置に接触するよう、ロボットの手先を移動させる位置指令を生成する位置指令生成部と、手先に印加される外力の値と位置・姿勢検出手段の先端位置とから所定の位置に接触する際の位置・姿勢検出手段の先端位置（接触位置）を算出する接触位置検出部と、接触位置が所定の範囲内に収まる場合に所定の作業が成功したと判定し、そうでない場合に所定の作業が失敗したと判定する作業成否判定部とを備える。【選択図】図１
2011230231.tif 000002
【特許請求の範囲】
【請求項１】
ロボットによる作業対象物に対する所定の作業の実行後、前記ロボットの手先に取り付けられた、弾性変形領域を持つ位置・姿勢検出手段が、前記作業対象物に関連する所定の位置に接触するよう、前記ロボットの手先を移動させる位置指令を生成する位置指令生成部と、
前記手先に印加される外力の値と前記位置・姿勢検出手段の先端位置とから、前記所定の位置に接触する際の前記位置・姿勢検出手段の先端位置（以下、「接触位置」という。）を算出する接触位置検出部と、
前記算出された接触位置が所定の範囲内に収まる場合に前記所定の作業が成功したと判定し、そうでない場合に前記所定の作業が失敗したと判定する作業成否判定部と
を備えるロボットの作業成否判定装置。
【請求項２】
前記位置・姿勢検出手段は、前記手先に取り付けられた位置から先端に向かう方向及び該方向以外の２方向のうち少なくとも１つの方向に対して弾性に変形する請求項１に記載の装置。
【請求項３】
前記位置・姿勢検出手段は、前記手先から取り外し可能であり、球状の先端部を有する請求項１に記載の装置。
【請求項４】
前記接触位置検出部は、前記外力の値及び前記先端位置の時系列上のデータに基づいて、前記外力の立ち上り時点の前記先端位置を、前記接触位置として算出する請求項１に記載の装置。
【請求項５】
前記作業成否判定部は、予め知られている理想的な接触位置と前記算出された接触位置との差が所定の閾値内に収まるか否かに基づいて作業の成否を判定する請求項１に記載の装置。
【請求項６】
前記所定の位置は少なくとも２つ設定され、前記作業成否判定部は、前記所定の位置のうち１つについて算出された接触位置と別の１つについて算出された接触位置との間の相対的な位置関係が所定の位置関係に収まるか否かに基づいて作業の成否を判定する請求項１に記載の装置。
【請求項７】
前記外力の値を監視し、前記外力の値が所定の閾値を超える場合に接触の検出を示す信号を前記位置指令生成部に送信する外力監視部をさらに備え、
前記位置指令生成部は、前記信号の受信に応答して、前記ロボットを減速停止させるための位置指令を生成する請求項１に記載の装置。
【請求項８】
前記ロボットの各軸のエンコーダの値を順変換することにより前記ロボットの手先位置を計算し、前記手先位置に前記位置・姿勢検出手段の寸法を加えることにより前記球状の先端部の中心位置を求め、前記所定の位置に対する前記位置・姿勢検出手段のアプローチ方向に応じて前記中心位置に前記先端部の半径を加算することにより前記先端位置を計算する手先位置計算部をさらに備える請求項３に記載の装置。
【請求項９】
ロボットによる作業対象物に対する所定の作業の実行後、前記ロボットの手先に取り付けられた、弾性変形領域を持つ位置・姿勢検出手段が、前記作業対象物に関連する所定の位置に接触するよう、前記ロボットの手先を移動させる位置指令を生成するステップと、
前記手先に印加される外力の値と前記位置・姿勢検出手段の先端位置とから、前記所定の位置に接触する際の前記位置・姿勢検出手段の先端位置（以下、「接触位置」という。）を算出するステップと、
前記算出された接触位置が所定の範囲内に収まる場合に前記所定の作業が成功したと判定し、そうでない場合に前記所定の作業が失敗したと判定するステップと
を備えるロボットの作業成否判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、例えばロボットの作業成否判定装置、および方法に関する。
【背景技術】
【０００２】
作業用ロボットを用いて組付けや嵌合の自動化を行う場合、作業完了後にロボット自身が作業成否を正確に判定する必要がある。
【０００３】
従来の作業対象物の状態を検出する方法は、作業完了後に確認する方法と、作業中に確認する方法に分けられる。作業完了後に確認する方法としては、３次元視覚センサにより非接触で作業対象物を計測する方法（例えば、特許文献１）がある。
【０００４】
図５は前記した特許文献１の挿入動作の適否を判定するための検出を示す概念図である。ストラクチャライトユニットＳＵの投光部からスリット光の投光を何回か行い、嵌合ワーク５７の頂面７２上に輝線ｍ、ｎ、ｏ、ｐを順次形成し、ストラクチャライトユニットＳＵのカメラを用いてそれら輝線の画像を順次取得する。取得された画像は、ロボット制御装置５５内で解析され、各輝線の端点ｍ、ｎ、ｏ、ｐの３次元位置が求められる。
【０００５】
そして、これら位置のＺ座標値（ベース座標系ΣＢ上）に基づいて、凹部８１の底面から測った底面７２の高さ（ここでは水平方向）が適正（挿入長Ｌを達成）か否かをチェックする。
【０００６】
また、組付け後に再度ハンドで作業対象物を把持して組付け動作を行ってその過程の力覚情報を成功時の力覚情報と比較する方法（例えば、特許文献２）がある。この方法においては、組立用ロボットの手首に装着した力覚センサの検出値が所定の許容範囲に収まるようにアームの位置を補正しながらワークの組付動作を行い、補正しながら行う組付動作が終了した時にハンドを開いてワークを解放させ、正常に組付動作が終了した時の位置として予め教示されているハンドの位置に実際の組付動作を終了したハンドを移動させる。次に、ハンドを閉じてワークを把持させ、ハンドを教示された組付動作の逆方向に後退移動させ、ハンドを前記組付動作と同じ方向に前進移動させながら手首に加わる力覚情報を検出させ、検出された力覚情報を教示時の力覚パターンと比較し、それらの一致性の有無から組付け状態の良否を判定するものである。
【０００７】
作業中に確認する方法としては、力覚情報以外にマイクロフォンを用いて嵌合時の衝撃音を検出することで判定する方法（例えば、特許文献３）がある。これは、ロボットハンドに外部からかかる力を検出して力検出信号を出力する力検出手段と、前記ロボットハンドの周囲の音を検出して音検出信号を出力する音検出手段と、前記力検出手段の出力する前記力検出信号と前記音検出手段の出力する前記音検出信号に所定の信号処理を施して、前記ロボットハンドの作業状況を判別するものである。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】国際公開第ＷＯ９８／１７４４４号公報
【特許文献２】特開平０８−１７４４５９号公報
【特許文献３】特開平０９−１２３０７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に開示される技術については、カメラ等を用いた視覚センサが外乱光等の周辺環境の影響を受け易いという問題がある。更に、外部に固定された視覚センサでは特定の作業位置のみでしか計測できず、組付位置が複数あるような場合で、作業対象物の裏側など死角になった部分は判定できないという問題があった。
【００１０】
また、特許文献２に開示される技術については、作業対象物に抜け止め防止のラッチがあって引き抜けない場合等には使えないという問題があった。また、引き抜き動作と組付動作を繰り返す必要があるため、タクトタイムが伸びてしまうという問題もあった。
【００１１】
また、特許文献３に開示される技術については、ワークが樹脂製の場合に、また、ワークが金属である場合であっても個体差等により、音が出難いという問題があった。また、作業対象物が複数の抜け止め防止のラッチを有する場合にはラッチが嵌る際の音をカウントする必要があるが、音が重なった場合には区別できないという問題があった。
【００１２】
本発明はこのような問題点に鑑みてなされたものであり、周辺環境の影響を受けず、作業の邪魔になり難く、ワークの個体差やラッチ有無の影響を受けずに作業の成否を判定することができる作業成否判定装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記問題を解決するため、本発明は、次のような発明を提供する。
【００１４】
なお、本願出願時の明細書の記載を基礎として、特許請求の範囲の記載が補正され得ることは勿論であるが、その際に、以下の概要の内容を訂正することは予定しない。以下の概要に記載される実施態様の各々は、本願明細書における開示の要点としての意味を持つものである。
【００１５】
本発明の１つの側面において、本発明の作業成否判定装置は、ロボットによる作業対象物に対する所定の作業の実行後、ロボットの手先に取り付けられた、弾性変形領域を持つ位置・姿勢検出手段が、作業対象物に関連する所定の位置に接触するよう、ロボットの手先を移動させる位置指令を生成する位置指令生成部と、手先に印加される外力の値と位置・姿勢検出手段の先端位置とから、所定の位置に接触する際の位置・姿勢検出手段の先端位置（接触位置）を算出する接触位置検出部と、算出された接触位置が所定の範囲内に収まる場合に所定の作業が成功したと判定し、そうでない場合に所定の作業が失敗したと判定する作業成否判定部とを備える。
【００１６】
位置・姿勢検出手段は、ロボットの手先に取り付けられた位置から先端に向かう方向及び該方向以外の２方向のうち少なくとも１つの方向に対して弾性に変形するように構成されてもよい。また、位置・姿勢検出手段は、ロボットの手先から取り外し可能であり、球状の先端部を有するように構成されてもよい。
【００１７】
接触位置検出部は、外力の値及び先端位置の時系列上のデータに基づいて、外力の立ち上り時点の先端位置を、上記接触位置として算出してもよい。
【００１８】
作業成否判定部は、予め知られている理想的な接触位置と算出された接触位置との差が所定の閾値内に収まるか否かに基づいて作業の成否を判定するように構成されてもよい。
【００１９】
また、本発明の作業成否判定装置において、作業対象物に関連する上記所定の位置は少なくとも２つ設定されてもよい。この場合、作業成否判定部は、当該少なくとも２つの所定の位置のうち１つについて算出された接触位置と別の１つについて算出された接触位置との間の相対的な位置関係が所定の位置関係に収まるか否かに基づいて、作業の成否を判定してもよい。
【００２０】
作業成否判定装置は、さらに、外力の値を監視し、当該外力の値が所定の閾値を超える場合に接触の検出を示す信号を位置指令生成部に送信する外力監視部を備えてもよい。位置指令生成部は、当該信号の受信に応答して、ロボットを減速停止させるための位置指令を生成するように構成されてもよい。
【００２１】
作業成否判定装置はまた、ロボットの各軸のエンコーダの値を順変換することによりロボットの手先位置を計算し、当該計算された手先位置に位置・姿勢検出手段の寸法を加えることにより、位置・姿勢検出手段の球状の先端部の中心位置を求め、上記所定の位置に対する位置・姿勢検出手段のアプローチ方向に応じて当該中心位置に先端部の半径を加算することにより先端位置を計算する、手先位置計算部を備えてもよい。
【００２２】
また、本発明の別の側面において、本発明の作業成否判定方法は、ロボットによる作業対象物に対する所定の作業の実行後、ロボットの手先に取り付けられた、弾性変形領域を持つ位置・姿勢検出手段が、作業対象物に関連する所定の位置に接触するよう、ロボットの手先を移動させる位置指令を生成するステップと、ロボットの手先に印加される外力の値と位置・姿勢検出手段の先端位置とから、上記所定の位置に接触する際の位置・姿勢検出手段の先端位置（接触位置）を算出するステップと、算出された接触位置が所定の範囲内に収まる場合に所定の作業が成功したと判定し、そうでない場合に所定の作業が失敗したと判定するステップとを含む。
【００２３】
「位置・姿勢検出手段」は、実施例の接触位置検出プローブ４に対応するが、これに限定されない。「位置・姿勢検出手段」は、将来開発され得る、例えば図６Ｄに例示されるような２次元的又は３次元的な接触状態検出手段を用いるものも広く含む。また、図６Ａに示すような通電方式の検出手段、図６Ｂに示すような接触センサ方式の検出手段、図６Ｃに示すような外乱オブザーバ方式の検出手段も含まれる。なお、図６Ｃのオブザーバ方式に限らず、位置及び／又は姿勢の変化を、システム内部の「状態」の変化と捉える、その他の「オブザーバ」や、ノイズの影響も考慮した「カルマン・フィルタ」も含まれる。なお、「外乱オブザーバ」とは、所定のシステムへの入力信号値及び所定のシステムからの出力信号値からシステム内部の状態を推定する手法又は装置を意味する。例えば、図６Ｃに示す例について説明すれば、「上位からの位置指令」、「トルク指令」、「位置ＦＢ（フィードバック）」という、システムの外から把握できる物理量から、システム内部（例えば「エンコーダ」）に加わった外乱としての、システム外の物体との接触状態を推定する手法又は装置を指す。また、「カルマン・フィルタ」とは、外乱オブザーバによっては考慮できないノイズの影響をも更に考慮して、所定のシステムへの入力信号値、所定のシステムからの出力信号値から、システム内部の状態を推定する手法又は装置を意味する。
【００２４】
図６Ｄに例示されるような２次元的又は３次元的な位置・姿勢検出手段を用いる構成は例えば、２次元的な柔軟な位置・姿勢検出手段を用いるものであり、作業対象物の所定の形状に「フィット」する状態を検知して、その検知に応じて、位置・姿勢を検出可能である。
【００２５】
「位置・姿勢検出手段」は、その下位概念である、「接触状態検出手段」を包含する。この「接触状態検出手段」は、例えば、図１に示す接触位置検出プローブ４、図６Ａに示す導電検出プローブ０１１、図６Ｂに示す剛体プローブ０２３、図６Ｃに示すカルマンフィルタを利用する手段、図６Ｄに示す柔軟性を有する接触状態検出手段等を含む。
【００２６】
なお、「作業対象物」には、再生過程における、実際に作業を行う対象物（「被作業物」と呼ぶ。）のみならず、本発明において位置・姿勢を検出する目的のために、被作業物の一部に固定された物体、又は、被作業物との間で所定の位置・姿勢関係になることがロボットから見て既知である、位置・姿勢を検出する目的に利用可能な物体も含む。
【００２７】
審査中の手続補正によって、及び、特許後の訂正審判又は訂正請求において、法的な制限の範囲内で、本発明は、種々の他の態様に訂正され得る。
【００２８】
なお、特許後の訂正審判又は訂正請求における「実質上特許請求の範囲を変更」の判断は、特許時の請求項に新たな要素が追加されたか否か（即ち、いわゆる外的付加が為されたか否か）、又は、特許時の請求項の１つ又はそれより多いいずれかの構成要素を更に限定するものか（即ち、いわゆる内的付加が為されたか）によって判断されるべきでなく、訂正の前後の請求項に係る発明の効果が類似するか否かの観点から為されるべきである。
【発明の効果】
【００２９】
本発明は上述のように構成されるものであり、本発明の実施例によると、プローブの持つ柔軟特性により、ロボットの特徴である高速性を失わずにタッチングでき、外力検出を行う力センサ値またはロボット各軸モータの外乱トルクを用いて敏感に接触を検出して、エンコーダ分解能程度のサブミリの単位で接触位置を求めることができる。
【００３０】
また、本発明の実施例によると、再生運転時の組付等の作業において、力検出手段及び弾性変形領域を持ったプローブを用いて、接触位置検出処理を所定回数繰り返すことで、作業対象物の位置姿勢を算出し、作業成否を判定することができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の１つの実施例における作業成否判定装置又は方法を使用するロボットシステムの構成図である。
【図２】本発明の１つの実施例における作業成否判定装置及び方法の動作の流れを説明するフローチャートである。
【図３】本発明の１つの実施例に従って作業成否判定を行う際のロボットの動作の説明図である。
【図４】本発明の１つの実施例における記憶データを示すグラフである。
【図５】従来の作業成否判定手法の一例を示す概念図である。
【図６Ａ】本発明の実施例において使用可能な、作業対象物の位置・姿勢の検出器の一例を示す図である。
【図６Ｂ】本発明の実施例において使用可能な、作業対象物の位置・姿勢の検出器の一例を示す図である。
【図６Ｃ】本発明の実施例において使用可能な、作業対象物の位置・姿勢の検出器の一例を示す図である。
【図６Ｄ】本発明の実施例において使用可能な、作業対象物の位置・姿勢の検出器の一例を示す図である。
【発明を実施するための形態】
【００３２】
以下、本発明の方法の具体的実施例について、図面に基づいて説明する。
【００３３】
図１は、本発明の作業成否判定装置又は方法を使用するロボットシステムの構成図を示す。図１には作業対象物の組１が示されており、作業対象物の組１は、ロボット２によって把持されて組付けられる作業対象物１１と、その相手側である、作業対象物１１が組付けられる作業対象物１２とを含む。ここで、「作業対象物」とは、手先効果器によって、溶接、加工、把持等の作業が行われる対象となる物体を意味する。この例においては、作業対象物１１が作業対象物１２に適切に組付けられることにより、作業対象物の組１が所望の状態となり、正常な作業が完了する。作業対象物の組１全体を「作業対象物」と呼んでもよい。
【００３４】
ロボット２は、手先効果器３を任意の位置に移動する。手先効果器３は「エンドエフェクタ」とも呼ばれ、ロボット２の手先に取り付けられ、作業対象物に対して何らかの作業をするものである。手先効果器３は、物を掴むハンド（グリッパ）や、バリ取りを行うグラインダなど、用途によって様々な構成をとり得る。本実施例において、一例として、手先効果器３は作業対象物１１を把持するグリッパ等として構成される。
【００３５】
接触位置検出プローブ４は、位置・姿勢検出手段として機能し、取外し可能で、プローブ４が手先効果器３に固定されている位置から先端への方向、及び当該先端に向かう方向以外の２方向の曲げの３方向のうち少なくとも一方向に対して弾性に変形する特性を備えた領域を持つ。接触位置検出プローブ４は、位置検出動作に伴って作業対象物１１又は１２へ接触する際に手先効果器３もしくはロボット２と作業対象物との干渉がない程度の長さを持ち、接触位置を接触方向に因らず同手法で算出することを可能にするために、先端は球状となっていてもよい。また、接触位置検出プローブ４は、ロボット２の作業性を損なわないように、プローブ作業が必要な時のみ手先効果器３から突き出すように構成された収納式のプローブでも良い。
【００３６】
外力検出器５は、例えば、ロボット２の動作に伴って手先効果器３に印加される一方向以上の力を検出する力センサである。このような構成のほか、外力検出器５は、接触状態を導通により電気的に検出するセンサ、接触センサ、薄型圧力センサ、ロボット２の各軸のモータについてのトルク指令値と負荷トルクとの差で表される外乱トルクの計算値を検出する力検出器でも代用できる（本実施例では力センサを例にして説明する）。外力検出器５は、力センサである場合、力センサ値を所定周期ごとに検出してもよい。また、外力検出器５は、上記のような外乱トルクの計算値を検出する力検出器である場合、外乱トルクの計算値を所定周期ごとに検出してもよい。
【００３７】
図１に示されるように、ロボットコントローラ６の内部には幾つかの構成要素が設けられる。位置指令生成部６１は通常のロボット２の位置制御を行う。外力監視部６２は外力検出器５等の値を監視し接触判断を行う。手先位置計算部６３は、ロボット２の各軸に備えられたエンコーダ（モータの位置（回転角度）を測定するためのセンサ）の値、プローブの設計寸法、プローブの取り付け位置及びアプローチ方向等からプローブ先端位置を計算する。ここで、「アプローチ（approach）」とは、近づくこと（近づく際の接近方向）、接近すること（接近する際の接近方向）を意味する。記録装置６４は、位置検出動作中の外力検出器５の値と手先位置計算部６３によって得られたプローブ先端位置とを記録する。接触位置計算部６５は、当該記録した値から接触位置・接触姿勢を計算し、計算された接触位置・接触姿勢に関するデータを作業成否判定部６６に与える。作業成否判定部６６は、予め設定された作業対象物１１及び１２の特定位置について、接触位置・接触姿勢（以下、単に「接触位置等」という。）に基づいて、複数の接触位置等を計測することにより、作業の成否判定を行う。
【００３８】
位置検出動作中の外力検出器５の値は外力監視部６２にも与えられる。外力監視部６２は、このデータに基づいて接触が発生したか否かを判断し、判断結果に関するデータを、ロボット２の位置制御を行う位置指令生成部６１に送る。
【００３９】
位置指令生成部６１は、ロボット２の各軸に搭載されるモータへの位置指令を生成し、作業成否判定部６６による判定結果を位置指令に反映させることができる。例えば、複数の工程からなる作業を行う場合、位置指令生成部６１は、ある工程の作業が成功したとの判定結果を作業成否判定部６６から受け取ると、次の工程の作業を実行するための位置指令を生成する。一方、当該ある工程の作業が失敗したとの判定結果を作業成否判定部６６から受け取った場合、例えば、位置指令生成部６１は、次の工程の作業のための位置指令を生成することなく、当該失敗した工程の作業をリトライするための位置指令を生成する。また、位置指令生成部６１は、外力監視部６２からの接触検知信号により位置指令（動作停止指令や退避動作指令）を生成することができる。これにより、例えば、衝突回避等を行うために必要な制御信号を与えること等が可能となる。
【００４０】
図１において、位置指令生成部６１、外力監視部６２、手先位置計算部６３、記録装置６４、接触位置検出部６５及び作業成否判定部６６は単一のロボットコントローラ６内に配置されているが、これらの構成要素は２以上の場所に分散して配置されてもよい。また、これらの構成要素は、必ずしも図１に示すように別個の要素として構成される必要はない。これらの構成要素のうちの複数のものに相当する機能を有する構成要素がロボットコントローラ６内に配置されてもよい。
【００４１】
図６Ａ乃至図６Ｄにおいて、本発明の実施例において接触位置等の検出に使用可能なプローブの例を示す。
【００４２】
図６Ａは、接触状態を電気の導通により電気的に検出するセンサにより構成される導通検出プローブの例を示す。ロボット（マニピュレーション部）２及び作業対象物０１２は、電気結合線０１３により電気的に結合されている。手先効果器３に装着された導通検出プローブ０１１を作業対象物０１２に接触させることにより、作業対象物０１２を媒体として通電し、導通検出プローブ０１１においてこれを検出し、接触状態を検出することができる。
【００４３】
また、図６Ｂは、接触センサにより構成される剛体プローブ０２３の例を示す。手先効果器３に弾性部材０２１を介してスイッチ０２２を設け、その先に剛体プローブ０２３が装着されている。スイッチ０２２は、物理的な拘束により所定量の変位が発生した時にスイッチングし電気的な信号を出力するスイッチであり、ロボット２の動作により、剛体プローブ０２３が作業対象物０２４に接触し、所定量の変位が発生した時に、接触を検知したことを知らせるための電気信号がスイッチ０２２から出力されることにより、接触状態を検出することができる。
【００４４】
図６Ｃは、トルク指令値と負荷トルクとの差で表される外乱トルクを用いた力検出方法を説明するブロック図であり、通常のロボットの位置速度制御部０３１におけるトルク指令と位置フィードバックを用いて外乱トルク演算部０３２において外乱トルクを計算する。外乱トルクの演算方法として、例えば、位置フィードバックの２階微分から角加速度を求め、モータ負荷の慣性モーメントを乗ずることによりトルクを計算し、トルク指令と位置フィードバックから計算したトルクの差を外乱トルクとする方法があるが、これに限定されない。外乱トルクを所定の周期で計算することによって、接触状態を検出することができる。
【００４５】
図６Ｄは、柔軟性を有する複数の先端部を備えた、２次元的又は３次元的に位置・姿勢を検出する手段の例を示す。
【００４６】
位置・姿勢検出手段（例えば、図１に示す接触位置検出プローブ４）の設計寸法、取り付け位置、アプローチ方向等が正確に分からない場合は、別途校正しても良い。操作ペンダント７は、ロボット２の作業教示および再生、接触動作実行や外力検出器（力センサ）値の検出閾値、プローブ寸法の設定変更に使用される。ここで、「教示（ティーチング）」とは、ロボットに作業を行わせるためにその作業を実現する動作を何らかの方法で教え込むことを意味する。一例として、作業者が操作ペンダント７のキーパッドを押下し、ロボット２の各関節軸もしくは手先位置を所望する場所に移動させ、移動した場所をロボットコントローラ６の記録装置６４に記録するという手順で教示が行われる。この際、教示された作業をロボットコントローラ６に実行させるための作業プログラムが記憶装置６４に記憶されてもよい。これに対し、「再生（playback）」とは、ロボットが、記憶した情報によって指示された作業・動作を実行することを意味する（「作業」という表現を、これと同一の概念を説明するために用いることがある）。
【００４７】
図２は、本発明の一実施例における作業成否判定装置及び方法の処理手順を示すフローチャートである。この図を用いて、本実施例の作業成否判定装置の動作もしくは作業成否判定方法を、順を追って説明する。本実施例は図３を用いて２次元で記述するが、容易に３次元に拡張可能である。
【００４８】
本実施例においては、ロボットによる作業の完了後に計測した、ロボット座標系上での作業対象物についての複数の接触位置等から作業の成否を判定する。特に、ここでは、相手側の作業対象物（例えば、図１における作業対象物１２）が固定されており、ロボットに対して決まった位置にあり、作業対象物１１及び作業対象物１２の寸法が予め既知であると仮定する。なお、「ロボット座標系」とは、ロボット本体に固定された直交座標系であり、ロボットを動作させる際の基準として使用する座標系である。
【００４９】
但し、本発明は上記のように仮定された限定的な状況のみにおいて実施されるものではない。後述するように、相手側の作業対象物が固定されていない場合や、作業対象物の寸法が既知でない場合であっても、本発明の作業成否判定装置及び方法は有効に実施することができる。
【００５０】
ステップＳ１において、ロボットコントローラ６は、予め教示されて記憶装置６４に記憶されている作業を再生することにより、所定の作業を実行する。例えば、ロボットコントローラ６は、既に行われた教示操作の結果として記憶装置６４に格納されている作業プログラムを実行することによって、ロボット２に所定の作業を再生させてもよい。
【００５１】
ロボット２の使用目的に応じて、様々な作業がステップＳ１において実行され得る。例えば、ロボット２が、図１に示すような作業対象物１２（例えば、所定のケーブル端子に適合した嵌め込み部分を有する基板）に対して作業対象物１１（当該所定のケーブル端子）を嵌め込むために使用される場合、ロボット２は、予め教示された作業の再生により、手先効果器３によって作業対象物１１を把持し、相手側の作業対象物１２に嵌め込む作業を行う。
【００５２】
次に、ステップＳ２において、ロボットコントローラ６は、予め教示された作業成否判定用の位置検出開始位置（すなわち、接触前のアプローチ位置）（例えば、教示操作の際に記憶装置６４に記憶されてもよい）へとロボット２の手先を移動させるための位置指令を位置指令生成部６１において生成し、ロボット２の手先を当該教示された位置検出開始位置へと移動させる。
【００５３】
ステップＳ３において、接触位置検出プローブ４を用いて作業対象物１１に対して位置検出動作を行い、接触位置等を計測する。本実施例においては、ステップＳ２及びステップＳ３の一連の動作を２回繰り返し、検出位置Ｐ１  Ｒ [ｘ１、ｙ１]、Ｐ２  Ｒ [ｘ２、ｙ２]を求める(図３参照）。ここで、Ｐ１  Ｒ [ｘ１、ｙ１]は、点Ｐ１のロボット座標系におけるＸＹ座標値を意味する。接触位置検出プローブ４の先端位置は、手先位置計算部６３によりロボット２の各軸のエンコーダの値を順変換することにより計算されるロボット２の手先位置にプローブ寸法を加えることでプローブ球の中心位置ＰＴＣＰ Ｒ [ｘｔｃｐ  ｙｔｃｐ]を求め、当該中心位置にプローブ球の半径Ｒを加算することにより求められる。以下の式（１）に示すように、接触位置検出プローブ４の先端位置は、位置検出動作におけるプローブのアプローチ方向（４方向）に応じて求められる。式（１）におけるＸ軸、Ｙ軸は、それぞれ、図３におけるＸ軸、Ｙ軸を意味する。図３に示す検出動作の例においては、接触位置検出プローブは、作業対象物１１上の点Ｐ１に対してＹ軸の正から負へ向かう方向へアプローチしており、これは式（１）におけるｉｖ）の場合に相当する。
【数１】
2011230231.tif 000003
【００５４】
式（１）によれば、図３に示す点Ｐ１に対するｘ１及びｙ１が求められる。同様にして、点Ｐ２に対するｘ２及びｙ２も求めることができる。本実施例において検出位置は点Ｐ１及び点Ｐ２の２点であるが、作業に要求される精度等に応じて、検出位置の数は任意に定めることができる。例えば、作業対象物１１上の点Ｐ１及び点Ｐ２に加えて、図３に示すような相手側の作業対象物１２上の点Ｐ３及び点Ｐ４について位置検出を行ってもよい。この場合、点Ｐ３に対するｘ３及びｙ３、並びに点Ｐ４に対するｘ４及びｙ４も同様の方法により求めることができる。
【００５５】
ロボット座標系（例えば、図３に示すＸＹ座標系）におけるプローブ球の中心位置ＰＴＣＰ Ｒ [ｘｔｃｐ  ｙｔｃｐ] は、ロボット２のエンコーダ値とプローブの設計寸法と取り付け位置とから求めることができる。ただし、プローブ半径Ｒが数百ミクロンであれば、プローブ球の中心位置をプローブ先端位置としても良い。
【００５６】
位置検出動作は、作業者が操作ペンダント７を用いたジョグ運転により作業対象物に接触した位置を教示し、再生する手順により実行する。「ジョグ運転」とは、主に教示を行う際に行われる操作であり、例えば、作業者が操作ペンダント上の各軸動作ボタンを押している間だけ所定の軸が動作し、放すと止まる、というような操作を意味する。位置検出動作において使用される、教示される位置（位置検出終了位置、すなわち、接触してプローブが曲がった状態で到達するワーク内部の位置）は、例えば、ロボット２の手先効果器３を作業対象物１１にアプローチし（接近させ）、作業対象物１１との干渉がないように手先効果器３に搭載した柔軟な接触位置検出プローブ４を作業対象物１１の上面に接触させ、さらに所定の距離（例えば、プローブの弾性領域内の数ｍｍ）押し込んだ位置とする。プローブが作業対象物に接触する位置から当該押し込み位置までの上記所定の距離は、プローブの柔軟性により吸収される程度の距離である。位置検出動作が再生される際には、当該押し込み位置への到達より前に接触位置検出信号がロボットコントローラ６に対して送信されてもよい。この場合、ロボットは減速停止され、退避処理が実行される。なお、位置検出対象物は作業対象物本体に限らず、作業対象物に関連する何らかの物体であればよく、作業対象物を支える治具、机、周辺の壁、棚など、例えば数百ｇ程度の力の印加によって移動したり変形したり損傷したりしない物体であればよい。
【００５７】
位置検出動作の間、外力監視部６２において、力センサの値が検出閾値を超えているか否かを一定の周期で監視する処理と、記録装置６４にプローブ先端位置と力センサ値を記録する処理とを同時に行う。なお、処理に適していれば、完全に同時である必要はない。
【００５８】
外力監視部６２において、力センサの値が検出閾値を超えた場合には、接触を検出したと判断し、接触位置検出信号が位置指令生成部６１へ送信され、ロボットコントローラ６は、ロボット２を減速停止させるための位置指令を位置指令生成部６１により生成し、これによりロボット２は減速停止される。さらに、ロボットコントローラ６は、位置指令生成部６１から所定の位置指令を行い、ロボット２をアプローチ開始地点（位置検出動作の開始位置）へ撤退させる。
【００５９】
ロボットコントローラ６は、接触位置検出部６５において、記録装置６４に記録した動作中の力センサの値とプローブ先端位置とから接触時の力センサ値の立上り時点を求め、立上り時点のプローブ位置を接触位置として算出する（図４）。つまり、力センサの値の変化を、記録された時系列上のデータに基づいて、過去に遡って判断する。また、記録処理の際には、記憶装置６４に一定のバッファ領域を設け、記録時に随時上書きする。
【００６０】
位置検出動作において、押し込み位置へ到達してしまった場合（上記接触位置検出信号がロボットコントローラ６において受信されなかった場合）には、位置検出処理においてエラーを返し、ステップＳ１に戻る（図２の「成功か？」判定における「ＮＯ」の場合）。この場合、組付け等の作業が不完全であること、作業対象の部品が無いことなどが想定される。
【００６１】
本実施例の場合には相手側の作業対象物１２の位置は固定で不変なため、ステップＳ４において、例えば、作業対象物１１の既知の寸法から、作業が成功した場合の理想的な検出位置が求められる。この場合、当該理想的な検出位置とステップＳ３において計測した実際の検出位置とを比較し、その実際の検出位置（又は理想的な検出位置と実際の検出位置との差）が予め設定された閾値内に収まるか否かを判断することにより、作業の成否を判定できる。当該閾値は、作業終了後に得られる製品に要求される精度等、様々な要因に基づいて任意に定められる値である。また、ステップＳ４における作業成否の判定手法は上記の方法に限定されるものではなく、当業者にとって既知の様々な方法を利用することができる。
【００６２】
作業が成功したと判断された場合には（図２の「成功か？」判定における「ＹＥＳ」）、ステップＳ５において、ロボットコントローラ６は、次工程の作業に進むようロボット２を制御する。作業が失敗したと判断された場合には（図３の「成功か？」判定における「ＮＯ」）、ロボットコントローラ６は、作業対象物１１を把持し直してステップＳ１からリトライするようロボット２を制御してもよい。もしくは、ロボットコントローラ６は、作業対象物１１を把持して別の場所に置き、新しい作業対象物１１を把持し直してステップＳ１からリトライする等の処理を取るよう、ロボット２を制御してもよい。あるいは、ロボットコントローラ６は、ロボット２にリトライを実行させることなく、警告音を発するなどして、エラーが発生したことを外部に知らせても良い。
【００６３】
前述の実施例の判定方法では、相手側作業対象物１２が固定されて不変であったため、作業対象物１１の上面位置を接触検出し、ロボット２に対する絶対的な位置を計測して、その位置（又は、計測された位置と理想的な位置との差）が予め設定された閾値内か否かを判断することにより、作業の成否を判定していた。しかし、接触検出される場所が作業対象物の上面に限られないことは勿論であり、作業対象物の形状等に応じて適切な任意の場所を接触検出の対象とすることができる。また、相手側作業対象物１２がコンベア等で位置決めされたり、相手側作業対象物１２が加工熱等の影響で変形して個体差があったりする場合には、図３に示すように、相手側作業対象物１２上の位置Ｐ３、Ｐ４も計測し、検出位置間の相対的な位置関係（例えば、点Ｐ１と点Ｐ３との間の距離や方向、点Ｐ２と点Ｐ４との間の距離や方向など）が予め設定された位置関係に収まるかどうかに基づいて、作業の成否を判定しても良い。
【００６４】
また、前述の実施例の判定方法では、作業対象物１１の寸法データから理想的な接触位置等を求めて判定に使用したが、作業対象物１１の寸法が知られていない場合であっても、接触位置検出プローブ４を用いた接触検出によって、教示時に正しく嵌合された位置を予め記憶しておき、その位置からのずれ量が予め設定された閾値内か否かを判断することにより、作業の成否を判定することができる。
【００６５】
また、前述の判定方法では、作業対象物１１の上面の両端を２箇所計測することで傾き等の誤差も計測していたが、作業対象物１１の幅が小さい場合には、１箇所の計測とすることで、計測にかかるタクトタイムを小さくすることができる。
【００６６】
以上のように、本発明の作業成否判定装置又は方法は、ロボットの動作に伴って手先効果器に配置された柔軟な接触位置検出プローブに印加される外力を取得し、ロボットのエンコーダ値とプローブ寸法からプローブ先端位置を計算し、接触に到るまでの外力値とプローブ先端位置を記憶して接触時のプローブ先端位置を求め、求められた複数の接触位置等から作業成否を判定することができる。したがって、本発明による作業成否判定は、周辺環境の影響を受けず、作業の邪魔になり難く、ワークの個体差やラッチ有無の影響を受け難い。
【００６７】
また、カメラ等を用いた視覚センサを利用する従来の技術と比較して、本発明は、柔軟な接触位置検出プローブを利用した接触位置等の検出により、迅速な作業成否判定を行うことができる。工場の組立てラインにおいて実際に製品を製造しながら作業成否判定を行う場合には、判定の精度のみならずスピードも要求されるため、本発明は、従来技術と比較して、より多くの場面における作業成否判定を実現することができる。また、本発明において使用されるプローブは従来技術のカメラ等と比較して安価であり、作業成否判定装置のコスト削減にも寄与し得る。
【００６８】
さらに、図５に示す従来技術の構成と図１に示す本発明の実施例を利用した構成とを比較すれば明らかなように、本発明によれば、作業成否判定を行うために様々な部材・部品を別途用意する必要がなくなる。これにより、ロボットを含めたシステム全体の構成が簡素化され、１組のロボット及びロボットコントローラによって組立て等の作業と作業成否判定の両方を行うことができる。また、図５に示すような従来の構成において要求されるような高精度の調整作業は不要であり、工場の製造ライン等に作業成否判定装置を導入する際の負担が軽減される。また、製造ラインの長さを短縮でき、作業を実際に行いながら作業成否を確認することができる。
【符号の説明】
【００６９】
１  作業対象物の組
２  ロボット
３  手先効果器
４  接触位置検出プローブ
５  外力検出器
６  ロボットコントローラ
６１  位置指令生成部
６２  外力監視部
６３  手先位置計算部
６４  記録装置
６５  接触位置検出部
６６  作業成否判定部
７  操作ペンダント
【図１】
2011230231.tif 000004
【図２】
2011230231.tif 000005
【図３】
2011230231.tif 000006
【図４】
2011230231.tif 000007
【図５】
2011230231.tif 000008
【図６Ａ】
2011230231.tif 000009
【図６Ｂ】
2011230231.tif 000010
【図６Ｃ】
2011230231.tif 000011
【図６Ｄ】
2011230231.tif 000012