(57)【特許請求の範囲】
【請求項１】
嵌め合い作業対象ワークの一方を代表するマスターワークを支持するロボットに該嵌め合い作業を予備的に教示する段階と、
前記予備教示の下で前記ロボットの再生運転を行なうことを通して前記嵌め合い作業に関する嵌合データを取得する段階を含み、
前記再生運転の、少なくともその一部において力制御が実行され、
前記嵌合データが、前記再生運転過程で嵌め合い進行状態が異なる少なくとも二つの状態におけるロボット位置に基づいて計算されるようにした、力制御による嵌合データ取得方法。
【請求項２】
前記嵌合データが、少なくとも前記嵌め合い作業のアプローチ点の位置・姿勢を表わすデータと嵌め合い実行の為のロボットの移動方向を表わすデータを含んでいる、請求項１に記載された力制御による嵌合データ取得方法。
【請求項３】
前記嵌合データが、少なくとも前記嵌め合い作業のアプローチ点の位置・姿勢を表わすデータ、嵌め合い実行の為のロボットの移動方向を表わすデータ並びに嵌め合い実行の為のロボットの移動距離を表わすデータを含んでいる、請求項１に記載された力制御による嵌合データ取得方法。
【請求項４】
前記力制御がインピーダンス制御である、請求項１〜請求項３の内のいずれか１項に記載された力制御による嵌合データ取得方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本願発明は、部品の組立等に用いられる産業用ロボット（以下、単に「ロボット」と言う。）の技術に関し、更に詳しく言えば、部品の組立等の為に行なわれるワーク間の嵌め合い作業に関する嵌合データを取得する為の方法に関する。
【０００２】
【従来技術】
例えば、工場で行なわれる部品の組立工程には、ワーク同士の嵌め合い作業が含まれていることが非常に多い。従って、このような嵌め合い作業を含む組立工程をロボットを用いて自動化、省力化しようとする場合には、何らかの方法でロボットに嵌め合い作業を教示する必要がある。
【０００３】
その為に従来から用いられてきた方法は、ロボットを手動操作（ジョグ送り）し、マスターワーク（基準となるワーク）について嵌め合い作業をプレイバック方式で教示するというものであった。この方式で嵌め合い作業を教示する場合、アプローチ点、即ちワーク同士の嵌め合いを開始する一歩手前でロボットがとるべき位置（姿勢を含む。以下同様。）とそのアプローチ点から嵌め合いの為に移動する方向が教示される。
【０００４】
しかし、アプローチ点と挿入方向をオペレータの手動操作で行なった場合、オペレータの熟練度や教示作業にかけることが出来る時間の制約から、教示されたアプローチ点と挿入方向に不確定な誤差が生じる。
【０００５】
教示に多少の誤差があっても嵌め合い作業を適正に実行し得るようにする為に、嵌め合い作業時を行なうロボットの制御に力制御の手法を適用することが知られている。この方法によれば、嵌め合い作業時に教示誤差に応じてワーク間に作用する力（またはそこから派生する力）が検出され、検出された力を指標に用いたロボットの制御が行われる。力制御の手法が適用されるロボットは、力制御ロボットと呼ばれている。
【０００６】
しかし、力制御ロボットは検出された力に基づいてロボット動作の修正を行なうものであるから、嵌め合い作業時には教示誤差の大きさに対して比例的にロボット動作の修正時間が必要となる。従って、力制御ロボットを用いた場合にも、正確な教示が行なわれていなければ、嵌め合い作業を含む工程の作業効率が低下する。
【０００７】
【発明が解決しようとする課題】
そこで、本願発明の目的は、嵌め合い作業を行なうロボットの為に正しい嵌合データ（アプローチ点、挿入方向等に関するデータ）を取得する方法を提供することにある。また本願発明は、このことを通して、嵌め合い作業の為の教示作業の負担を軽減するとともに嵌め合い作業を含む工程の作業効率の向上を図るものである。
【０００８】
【課題を解決するための手段】
本願発明は、手動操作等による嵌め合い作業の教示（予備教示）が行なわれた力制御ロボットの再生運転の過程を通して嵌合データを獲得することによって上記技術課題を解決したものである。
【０００９】
即ち、嵌め合いが行なわれる一方を代表するマスターワーク（以下、「支持ワーク」と言う。）を支持したロボットに対して先ず予備的な嵌め合い作業の教示が行なわれる。この予備的な教示は、通常、オペレータによるロボットの手動操作によって行なわれるが、オフラインデータが利用出来る場合にはそれを援用しても構わない。
【００１０】
この予備教示では、通常、嵌め合い作業のアプローチ点（位置と姿勢）並びに支持ワークの嵌め合いの為の移動方向がロボットに教示される。次いで、この予備教示の下で力制御ロボットの再生運転を行なう。再生運転の実行過程において、適正なアプローチ点の位置及び嵌め合い移動方向を表わすデータが取得される。取得したデータをロボットコントローラに記憶させれば、より正確に嵌め合い作業を実行する為に必要なデータがロボットに教示されることになる。
【００１１】
ロボットには、嵌め合い作業ではめ込む側のワーク（例えば、部品受け入れ部材の穴乃至凹部に収容される部品）を支持させるの通常であり、その場合には、前記嵌合方向は支持ワークの挿入方向となる。一方、ロボットに嵌め合い作業ではめ込まれる側のワーク（例えば、部品を受け入れる穴乃至凹部を有する部材）を支持させた場合であれば、前記嵌め合いの為の移動方向はそのロボットに支持されていない方のワークの挿入方向（但し、向きは反対）となる。力制御は、例えばインピーダンス制御と呼ばれる方式で実行される。
【００１２】
嵌合データは、前記再生運転過程で嵌め合い進行状態が異なる少なくとも二つの状態におけるロボット位置に基づいて計算される。嵌合データには、嵌め合い作業のアプローチ点の位置・姿勢を表わすデータと嵌め合い実行の為のロボットの移動方向を表わすデータが含まれるが、更に、嵌め合い実行の為のロボットの移動距離を表わすデータが含まれることが好ましい。
【００１３】
【作用】
本願発明においては、手動操作等による嵌め合い作業の予備教示が行なわれた力制御ロボットの再生運転の過程を通して嵌合データが獲得される。予備教示では、通常、嵌め合い作業のアプローチ点（位置と姿勢）並びに支持ワークの嵌め合いの為の移動方向がロボットに教示される。次いで、この予備教示の下で力制御ロボットの再生運転が行わる。そして、再生運転の実行過程において、適正なアプローチ点の位置及び嵌め合い移動方向を表わすデータが取得される。取得したデータをロボットコントローラに記憶させれば、より正確に嵌め合い作業を実行する為に必要なデータがロボットに教示されることになる。
【００１４】
嵌合データは、前記再生運転過程で嵌め合い進行状態が異なる少なくとも二つの状態（例えば、挿入中途時点と挿入完了時点）におけるロボット位置に基づいて計算することが出来る。嵌合データには、嵌め合い作業のアプローチ点の位置・姿勢を表わすデータと嵌め合い実行の為のロボットの移動方向を表わすデータが含まれるが、更に、嵌め合い実行の為のロボットの移動距離を表わすデータが含まれていれば、嵌合データとしてより有用なものが取得される。取得された嵌合データは、以後実際のワーク間の嵌め合い時により短時間でより正確な嵌め合い作業を実施する為に使用される。
【００１５】
【実施例】
本願発明の方法の適用例として、図１に示したようにロボットの手先に挿入側のマスターワークを支持し、被挿入ワークへの嵌め合い作業に関する嵌合データを取得する方法を説明する。なお、手動操作による教示の下での再生運転時に用いる力制御の方式として、本実施例ではインピーダンス制御法を採用する。
【００１６】
図１において、符号１は力制御ロボット本体で、ケーブル１１を介してロボットコントローラ２に接続されている。ロボット（本体）１の構造自体は従来のものと特に変わるところはない。また、ロボットコントローラ２についても、後述する処理を実行する為のソフトウェア手段を除けば、従来より使用されているものと同じで良い。
【００１７】
力制御ロボット１の手首先端には、Ｘ，Ｙ，Ｚ軸方向の並進力とそれらの軸回りのモーメント（まとめて６軸力と言う。）を検出できる力センサ３が取り付けられている。符号３１は、力センサ３とロボットコントローラ２を接続するケーブルを表わしている。
【００１８】
嵌め合い作業の対象とされるワークを代表する一組のマスターワークが符号４，５で示されており、突起４１を有する方のマスターワーク４は力センサ３を介してロボット１に取り付けられている。また、穴５１を有するマスターワーク５はワークテーブル６上に位置決めされている。
【００１９】
マスターワーク４の突起４１は、マスターワーク５の穴５１と整合した形状と寸法を有しており、嵌め合い作業実行時にはロボット１の移動によって突起４１が穴５１内に挿入される。なお、本実施例とは逆に、力制御されるロボット１に穴を有する方のワークを支持して嵌め合い作業を実行する場合もある。
【００２０】
図２は、上記配置で使用されるシステムの概要を要部ブロック図で示したものである。同図を参照すると、システム全体は、ロボットコントローラ２０、該ロボットコントローラ２０によって制御されるロボット（本体機構部）１、ロボット本体のアーム先端部に支持される６軸力センサ３、該力センサ３の検出信号を処理する信号処理装置３０から構成される。
【００２１】
ロボットコントローラ２０は中央演算処理装置（以下、ＣＰＵという。）２１を備えている。、該ＣＰＵ２１には、ＲＯＭからなるメモリ２２、ＲＡＭからなるメモリ２３、不揮発性メモリ２４、ロボットの教示及び他のシステム各部の動作についての各種の指令入力あるいは設定値入力を行なうキーボードを備えた教示操作盤２５、信号処理装置３０との間のインターフェイス機能を果たす入出力装置２６、及びロボット本体１の各軸の動作をサーボ回路２８を介して制御するロボット軸制御部２７７が、各々バス２９を介して接続されている。
【００２２】
ロボット本体１のアーム先端部に搭載される力センサ３には、例えば歪ゲージで構成され発振器により交流駆動される複数のブリッジ回路を内蔵した公知の構造のものが使用出来る。力センサ３からは、６軸力の各成分を表わす検出信号が信号処理装置３０に出力される。
【００２３】
信号処理装置３０に於ける信号処理の概略を例記すれば、次のようになる。力センサ３から出力された各検出信号は、差動アンプで増幅後、同期整流されて直流信号に変換された上で信号処理装置内のマルチプレクサに入力される。マルチプレクサは、ロボットコントローラ２０のＣＰＵ２１から入出力装置２６を介して受け取る制御信号に従い、各成分を表わす検出信号を順次サンプルホールド回路及びＡ／Ｄコンバータを介して入出力装置２６へ送り出す。
【００２４】
ＣＰＵ２１は、これを順次不揮発性メモリ２４内の所定領域に格納する。格納された力センサ３の検出データは、後述する態様で行なわれるロボットの力制御（ここでは、インピーダンス制御）の為に利用される。
【００２５】
ＲＯＭ２２、ＲＡＭ２３及び不揮発性メモリ２４は、上記力センサ３の検出データの格納の他に、ロボットコントローラ２０自身の動作を制御するプログラム、後述するインピーダンス制御及び嵌合データ取得の為の処理、信号処理装置２０との間の信号授受のコントロール等を実行するプログラム並びに各処理の関連設定値の格納等に用いられる。この設定値には、力センサ３に設定されたセンサ座標系とロボットに設定された直交座標系との間の変換行列のデータが含まれている。
【００２６】
以上の事項を前提として、以下、本実施例における嵌合データの取得方法について図３〜図８を参照して説明する。嵌合データを取得するプロセスは、［１］予備教示の段階と［２］インピーダンス制御（一般には、力制御）による再生運転の段階に大別される。
【００２７】
［１］予備教示の段階
図３は、予備教示されるアプローチ点（位置と姿勢）と移動方向（挿入方向）を模式化して示した図である。予備教示は通常オペレータによる手動操作（ジョグ送り）によるティーチング・プレイバック方式によって行なわれる。この予備教示は、後述する力制御（インピーダンス制御）に支障を来さない程度の精度で行なえば良く、従って、オペレータに重い作業負担を負わせることがない。
【００２８】
図３中においては、ロボットに支持されるマスターワークはその突起を含めて符号４で表示されている。なお、本図以下、図４、図５及び図６においては、力センサ及びロボットの手首の図示は省略した。
【００２９】
ＢＴＡＴはアプローチ点として予備教示されたツール先端点ＴＣＰの位置・姿勢をベース座標系ΣＢ  上で表わした行列である。また、  ＢｎＴ  は予備教示されたマスターワーク４の挿入方向（一般には、嵌め合い実行時のロボットの移動方向）を同じくベース座標系ΣＢ  上で表わしたベクトルである。
【００３０】
アプローチ点の位置・姿勢の予備教示は、ロボットに支持されたマスターワーク４の突起が他方のマスターワーク５の穴５１にほぼ正対する位置・姿勢（一般には、嵌め合いに移行し得る直前の位置・姿勢）をとるようにロボットを移動させ、その時の位置・姿勢を表わす行列  ＢＴＡＴのデータをロボットコントローラ２０の不揮発性メモリ１４の所定領域に書き込むことによって実行される。
アプローチ点の位置・姿勢を表わす行列  ＢＴＡＴは、回転行列  ＢＲＡＴと位置ベクトル  ＢｐＡＴを含む同次変換行列として次式（１）のように書ける。
【００３１】
【数１】
0003577124.tif 000002
次いで、マスターワーク４の挿入方向を教示する為に、オペレータはロボットに支持されたマスターワーク４の突起が他方のマスターワーク５の穴５１内に挿入されると思われる方向にロボットを移動させ、適当な位置（例えば、実際に支持ワーク４の突起が穴５１内にいくらか挿入されかかった状態）で停止させる。この時のＴＣＰの位置・姿勢を  ＢＴＧＴとする。また、同次変換行列行列  ＢＴＧＴに含まれる回転行列を  ＢＲＧＴとし、位置ベクトルを  ＢｐＧＴとする。行列  ＢＴＧＴを記せば次式（２）のように書ける。
【００３２】
【数２】
0003577124.tif 000003
挿入方向を表わすベクトル  ＷｎＴ  は、次式（３）の計算によって求められる。このベクトルのデータをロボットコントローラ２０の不揮発性メモリ１４の所定領域に書き込むことで挿入方向の予備教示は完了する。
【００３３】
ＢｎＴ  ＝（  ＢｐＧＴ−  ＢｐＡＴ）／｜  ＢｐＧＴ−  ＢｐＡＴ｜          ・・・（３）
［２］インピーダンス制御による再生運転の段階
図４〜図８を参照して説明する。図４及び図５は、図３と併せて再生運転による挿入プロセスの進行の様子を図３と同様の形式で概念的に表わした図である。また、図６は図３〜図５と同様の描示形式を用いて、本実施例で得られる嵌合データの内容を表わした図である。図７は、この再生運転の段階で実行される処理の概要について説明するフローチャートである。更に、図８はインピーダンス制御について説明するフローチャートである。
【００３４】
図７のフローチャートに記したように、先ず最初に、上記予備教示で作成された嵌合データを含むプログラムの一ポイント分（アプローチ点の分）を読み込み（ステップＳ１）、予備教示されたアプローチ点へロボットのＴＣＰを移動させる（ステップＳ２）。この時の状態は、図３に描示したものとなる。
【００３５】
次いで、プログラムの次の一ポイント分（ベクトル  ＷｎＴ  のデータを含むブロック）を読み込み（ステップＳ３）、教示された挿入方向へのＴＣＰの移動を開始させる（ステップＳ４）。通常、予備教示された方向には多少の誤差が存在するから、ベクトル  ＷｎＴ  の方向への移動開始後のある時点で支持マスターワーク４が他方のマスターワーク５と接触し、それによって発生する６軸力が力センサ３によって感知される（ステップＳ５）。
【００３６】
本実施例においては、この時点からインピーダンス制御が開始される（ステップＳ６）。支持マスターワーク４が他方のマスターワーク５と接触するまでは、ロボットの移動方向は教示された移動方向と一致するが、両マスターワークが接触し、インピーダンス制御が開始されると、ロボットの移動方向はインピーダンス制御の結果、穴５１の軸方向に修正される。
【００３７】
そして、予備教示されたアプローチ点またはマスターワーク接触時点の位置から予め設定された適当な距離ｓだけロボットが移動した時点で（ステップＳ７）、その時点におけるＴＣＰの位置・姿勢をロボットコントローラ２０の不揮発性メモリ２４内に記憶する（ステップＳ８）。図４はこの挿入途中位置における状態を概念的に示したものである。
【００３８】
ここで記憶されたロボットのＴＣＰの位置・姿勢を  ＷＴＨ  、それに含まれる回転行列を  ＷＲＨ  、位置ベクトルを  ＷｐＨ  とする。行列  ＷＴＨ  を記せば次式（４）のように書ける。
【００３９】
【数３】
0003577124.tif 000004
ロボットを更に穴５１の軸方向に移動させ、支持マスターワーク４の先端（突起先端）が穴５１の底部に到達したならば（ステップＳ９）、その時点におけるＴＣＰの位置・姿勢をロボットコントローラ２０の不揮発性メモリ２４内に記憶する（ステップＳ１０）。図５はこの時点における状態を概念的に示したものである。ここで記憶されたロボットのＴＣＰの位置・姿勢を  ＷＴＥ  、それに含まれる回転行列を  ＷＲＥ  、位置ベクトルを  ＷｐＥ  とする。行列  ＷＴＥ  を記せば次式（５）のように書ける。
【００４０】
【数４】
0003577124.tif 000005
次いで、次式（６）〜（９）の計算によって嵌合データを求め、ロボットコントローラ２０の不揮発性メモリ２４内に記憶し（ステップＳ１１）、処理を終了する。なお、式（１０）は教示されるアプローチ点におけるＴＣＰの位置・姿勢をまとめて表わした同次変換行列を表わしている。アプローチ点と挿入方向のデータについては、予備教示で書き込まれた行列  ＷＴＡＴのデータとベクトル  ＷｐＡＴのデータを、ここで計算される行列  ＷＴＡ  のデータとベクトル  ＷｐＡ  のデータに各々書き換える方式とすることが出来る。
【００４１】
挿入距離；ｌ＝｜  ＷｐＡＴ−  ＷｐＥ  ｜                        ・・・（６）
挿入方向；  Ｗｎ＝（  ＷｐＥ  −  ＷｐＨ  ）／｜  ＷｐＥ  −  ＷｐＨ  ｜  ・・・（７）
アプローチ点における姿勢；  ＷＲＡ  ＝  ＷＲＥ                  ・・・（８）
アプローチ点における位置；  ＷｐＡ  ＝  ＷｐＥ  −ｌ  ・  Ｗｎ      ・・・（９）
【００４２】
【数５】
0003577124.tif 000006
上記方法で得られた嵌合データは、以後多数の嵌め合い対象ワークについて力制御ロボットを用うて行なわれる嵌め合い作業に利用出来る。その際には、高精度の嵌合データに基づいて定められるロボット経路に対して力制御時による僅かな修正が行なわれるだけなので、修正時間が非常に短くなる。
【００４３】
最後に、上記実施例の中で用いられているインピーダンス制御法について説明するが、この制御方法自体は公知であるから、概要のみを述べる。
インピーダンス制御法は、ロボットを後述の式（１１）の運動方程式に従い、手先に加わった力に応じて動作するように制御する力制御法である。
【００４４】
マスターワーク４の先端面と中心軸の交点を原点とし、ｘ軸をツールの進行方向としたツールに固定された座標系（図４で、行列  ＷＴＨ  で表わした座標系）を考え、この座標系を前述した座標系  ＢΣＤ  に一致させることを位置制御の目標とする。そして、力の目標力  ＤＦｄ  は、  ＤＦｄ  ＝［  Ｄｆｄ Ｔ Ｄτｄ Ｔ  ］Ｔ  とする。
【００４５】
ここで、  Ｄｆｄ  は目標とする力、  Ｄτｄ  は目標とするトルクである。これらは、嵌め合いが完了した状態（図５参照）で望まれる力の状態に応じて設定される。ここでは、  Ｄｆｄ  ＝［  Ｄｆｘ  ，０，０  ］Ｔ  、  Ｄτｄ  ＝［０，０，０］Ｔとする。
【００４６】
従って、ロボットが穴５１の内壁面に沿って移動し、嵌め合いが完了して図５に示した状態になると、マスターワーク４の先端が穴５１の底に突き当たり、ロボットは上記目標  ＤＦｄ  に設定された平衡状態に到達し、移動は停止される。この平衡状態到達による移動停止が、図７のフローチャート中ステップＳ９で判断される。
【００４７】
今、座標系  ＤΣＣ  を位置、姿勢の６次元ベクトルで表したものを  ＤｒＣ  とすると、目標インピーダンスは次の（１１）式となる。
【００４８】
【数６】
0003577124.tif 000007
上記（１１）式において、変数ｒの上に付したドット数はその数だけの微分を表す。また、上記（１１）式において、
Ｍは６行６列の目標慣性行列
Ｄは６行６列の目標粘性行列
Ｋは６行６列の目標剛性行列
である。この実施例のように、力制御方向、位置制御方向を決めた場合には、
Ｍ＝ｄｉａｇ（ｍ１  ，ｍ２  ，・・・ｍ６  ）
Ｄ＝ｄｉａｇ（ｄ１  ，ｄ２  ，・・・ｄ６  ）
Ｋ＝ｄｉａｇ（ｋ１  ，ｋ２  ，・・・ｋ６  ）          ・・・（１２）
とし、
Ｋ＝０                                      ・・・（１３）
とする。そして、残りのパラメータと９式の具体的な数値は制御対象に依存するので、チューニングなどにより決定する。上述のインピーダンス設定と目標力の設定により、ロボットに支持されたマスターワーク４に加わる力に応じ、ロボットが位置・姿勢を穴５１の位置・姿勢に整合させるよう力制御により動作し、嵌合作業が可能となる。
【００４９】
上記（１１）式より、次の（１４）式によってロボットの手先の目標加速度が求まる。
【００５０】
【数７】
0003577124.tif 000008
ロボットの関節変数をθとし、この関節変数の１回微分と上記ベクトル  ＤｒＣ  の１回微分の関係を表すヤコビ行列をＪとすると、次の（１５）式が成り立つ。
【００５１】
【数８】
0003577124.tif 000009
上記２２式における目標加速度（θｄ  の２ドット）を直接的に実現する方法の１つとして、ロボットの運動方程式を次の（１６）式として、（１７）式で求められる値ｕをアクチュエータへの指令値（モータへのトルク指令）ｕとする方法がある。
【００５２】
【数９】
0003577124.tif 000010
【００５３】
【数１０】
0003577124.tif 000011
なお、上記（１６），（１７）式において、
τ    ：ロボットの各関節のトルク
Ｉ（θ）：ロボット慣性行列
ｈ（θ，θの１ドット）：コリオリ力、遠心力等の非線形力
である。
【００５４】
また、各アクチュエータ（モータ）毎に位置、速度のサーボ系が構成されている場合には、
【００５５】
【数１１】
0003577124.tif 000012
【００５６】
【数１２】
0003577124.tif 000013
として、順次Δｔ時間後の位置θｄ  、速度の目標値（θｄ  の１ドット）を与えるようにすればよい。
次に、インピーダンス制御演算の処理の概要を図８のフローチャートに示す。この処理では、上記求められた同次変換行列  ＢＴＤｉに基づいて、ロボットの各軸値、及び速度より６次元ベクトル  Ｄｒｃ  及びその微分値が求められる。また、設定された力の目標力  ＤＦｄ  及び、力センサ３で検出される力  ＤＦｃ  によって（１４）式の演算を行い目標加速度（  Ｄｒｃ  の２ドット）が求められる。更に、求められた目標加速度と各軸の速度より（１５）式の演算を行って、各軸毎の目標加速度（θｄ  の２ドット）を求める（ステップＳ６１）。
【００５７】
そして、各軸毎にステップＳ６０１で求めた目標加速度と検出速度より（１８）式並びに（１９）式の演算を行って目標速度、目標位置を求め各軸サーボ系に出力する（ステップＳ６２，Ｓ６３）。
【００５８】
上記インピーダンス制御演算の１サイクル分が終了すると、現時点のロボット手先位置ｒｉ  を求め、該位置と一つ手前の位置ｒｉ−１  からロボットの進行方向ベクトルΔｉを求め、次のインピーダンス制御演算の処理に備える。
【００５９】
以上、本実施例では力制御としてインピーダンス制御法を適用したが、粗い予備教示の下で再生運転を行なうことで、嵌め合いを実行出来るような力制御法である限り、いかなる制御法も採用可能であることは上記説明から明らかであろう。即ち、再生運転を行なうことで嵌め合いに成功すれば、上記説明した計算によってアプローチ点、挿入方向及び挿入距離を含む嵌合データが必ず取得可能となる。
【００６０】
【発明の効果】
本願発明によれば、簡単な予備教示を行なうだけで、実際に嵌合が行なわれた時の状態で正しい嵌合データが自動的に取得される。従って、嵌め合い作業の為の教示作業の負担を軽減される。また、本願発明の方法で得られた嵌合データに基づいて力制御ロボットによる嵌め合い作業を実行すれば、嵌合データの精度が高いために力制御時の修正時間が非常に短くなる。これによって、嵌め合い作業を含む工程の作業効率が向上する。
【図面の簡単な説明】
【図１】本願発明の実施例の全体配置の概要を説明する見取り図である。
【図２】図１に示した配置で使用されるシステムの概要を要部ブロック図で示したものである。
【図３】予備教示されるアプローチ点（位置と姿勢）と移動方向（挿入方向）を模式化して示した図である。
【図４】実施例において、支持マスターワークが中途まで挿入された状態を概念的に表わした図である。
【図５】実施例において、支持マスタワークの挿入が完了した状態を概念的に表わした図である。
【図６】図３〜図５と同様の描示形式を用いて、本実施例で得られる嵌合データの内容を表わした図である。
【図７】実施例において、再生運転の段階で実行される処理の概要について説明するフローチャートである。
【図８】実施例におけるインピーダンス制御演算の処理の概要を説明するフローチャートである。
【符号の説明】
１  ロボット本体
２  ロボットコントローラ
３  力センサ
４，５  マスターワーク
１１，３１  ケーブル
２１  中央演算処理装置（ＣＰＵ）
２２  ＲＯＭ
２３  ＲＡＭ
２４  不揮発性メモリ
２５  教示操作盤
２６  入出力装置
２７  ロボット軸制御部
２８  サーボ回路
２９  バス
３０  信号処理装置
４１  突起
５１  穴
【図１】
0003577124.tif 000014
【図２】
0003577124.tif 000015
【図３】
0003577124.tif 000016
【図４】
0003577124.tif 000017
【図５】
0003577124.tif 000018
【図６】
0003577124.tif 000019
【図７】
0003577124.tif 000020
【図８】
0003577124.tif 000021