(57)【要約】【課題】  各作業対象点で実行予定の作業と、エンドエフェクタの特性との関係まで考慮して、オフラインティーチング用のデータが作成できるロボット教示データの作成方法を提供する。【解決手段】  コンピュータ上で仮想のロボットを動作させて、ロボットのティーチングを行うオフラインティーチング方法において、ロボットが作業を行うワーク上の各作業対象点について、ロボットが実行予定の作業内容と作業に用いる工具の工具特性とが適合しているか否かを判定する適合判定段階（ステップＳ３）を含むことを特徴とするオフラインティーチング方法。【選択図】            図２
2006004262.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ上で仮想のロボットを動作させて、ロボットティーチング用の教示データを作成するロボット教示データの作成方法において、
ロボットが作業を行うワーク上の各作業対象点について、ロボットが実行予定の作業内容と作業に用いる工具の工具特性とが適合しているか否かを判定する適合判定段階を含むことを特徴とするロボット教示データの作成方法。
【請求項２】
前記適合判定段階において作業内容と工具特性とが適合していないと判定された前記作業対象点を除外する段階と、
除外されなかった前記作業対象点ごとにロボットの進入角度を抽出する抽出段階と、
該抽出した各作業対象点でのロボットの進入角度を全数比較し、その角度が予め定められた許容範囲内に収まる作業対象点をグループ化するグループ化段階と、
前記グループ化した各グループ内において、前記ロボットが連続的に動作するように各グループ内の各作業対象点を結線する動作軌跡を作成する動作軌跡作成段階と、
をさらに含むことを特徴とする請求項１に記載のロボット教示データの作成方法。
【請求項３】
ロボットのティーチングのために実機へ投入済みの投入データと、該投入データを基にして実機を動作させるために用いている実データとを作業対象点ごとに比較して、両者の差分データを算出する差分算出段階と、
新たな作業をティーチングするための新データを作成するデータ作成段階と、
作成した新データの作業対象点ごとに、最も近い位置および姿勢を有する前記投入データの作業対象点を検索し、対応づける対応付段階と、
前記新データの作業対象点について前記適合判定段階を行い、作業内容と工具特性とが適合している場合には、該新データの作業対象点を、これと対応付けられた前記投入データの作業対象点と実データとの差分データに基づいて、補正する補正段階と、
を含むことを特徴とするロボット教示データの作成方法。
【請求項４】
前記適合判定段階では、前記作業内容が計測の場合、計測用の工具の種類、形状、大きさおよび径が、前記作業対象点での計測に適合するかどうかを判定することを特徴とする請求項１〜３のいずれか一項に記載のロボット教示データの作成方法。
【請求項５】
前記適合判定段階では、前記作業内容がスポット溶接の場合、溶接用の工具により達成できる溶接条件が、前記作業対象点で必要な溶接に適合するかどうかを判定することを特徴とする請求項１〜３のいずれか一項に記載のロボット教示データの作成方法。
【請求項６】
前記溶接条件とは、溶接の際の加圧力、溶接電流および通電時間であることを特徴とする請求項５に記載のロボット教示データの作成方法。
【請求項７】
前記適合判定段階では、前記作業内容がワークの搬送の場合、搬送対象のワークの重量がロボットの搬送可能な許容重量内かどうか、および、該工具がワークを搬送したときに生じる慣性モーメントがロボットが耐えられる許容慣性モーメント内かどうかを判定することを特徴とする請求項１〜３のいずれか一項に記載のロボット教示データの作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシミュレーションによるロボット教示データの作成方法に関する。
【背景技術】
【０００２】
産業用ロボットの動作ティーチング方法としては、作業現場において実際のロボットを、その作業どおりに動作させてティーチングする方法の他に、コンピュータシミュレーションにより仮想のロボットを動作させて行う、オフラインティーチングという方法がある。
【０００３】
このオフラインティーチング方法では、作業対象となるワークのデータをＣＡＤデータなどから取得して、このワークに対して仮想ロボットを動かすことにより、実際のロボットを動作させるための教示データを作成するものである。
【０００４】
オフラインティーチング方法では、基本的に、ロボットのエンドエフェクタ（ロボットアーム先端に取り付けられた各種のツールをこのように称する）が作業するワーク上の点（作業対象点と称する）に対して、どの様にロボットを動かすかを、そのワーク上の作業対象点に対して順に動かすことにより作成している。
【０００５】
このようなオフラインティーチング方法においては、たとえば、次のような２つのものが提案されている。
【０００６】
（１）１つ目は、各作業点におけるエンドエフェクタの姿勢に基づいてグループ化し、さらに、作業対象点間の距離に基づいてエンドエフェクタが通過する作業対象点の順序を決定する方法である（たとえば、特許文献１参照）。この方法により、作業工数を大幅に削減している。
【０００７】
（２）２つ目は、オフラインティーチングに基づいて実際にロボットを動かしたときに必要だった修正量を記録しておき、最新のオフラインティーチング用のデータを作成する際に、以前の修正量に基づいて該データを予め修正する方法である（たとえば、特許文献２）。予め過去の修正量に基づいて、作業対象点を修正するため、実際にロボットを動かしてみてからわかる修正が必要な作業対象点が減り、これらを修正するための工数を低減できる。
【特許文献１】特開平１１−１９４８１２号公報
【特許文献２】特開２００１−１００８３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記（１）のようなオフラインティーチング方法にあっては、作業対象点とエンドエフェクタの姿勢との関係は考慮されるものの、各作業対象点で実行予定の作業と、エンドエフェクタの特性との関係が考慮されていない。
【０００９】
したがって、所望の作業対象点に、ロボットが到達し、作業が実行できるとしても、その作業対象点で求められている作業をロボットができるとは限らない。すなわち、作業対象点での作業に必要なツールが、エンドエフェクタとして選ばれているか否かわからない。
【００１０】
これでは、整然と完了したと思われる作業対象点の順序に、重大な順序入換えが必要となる場合がある。
【００１１】
また、上記（２）のようなオフラインティーチング方法にあっても、上記（１）のオフラインティーチング方法と同様に、作業対象点とエンドエフェクタの姿勢との関係は考慮するものの、各作業対象点で実行予定の作業と、エンドエフェクタの特性との関係が考慮されていない。
【００１２】
したがって、所望の作業対象点に、ロボットが到達し、作業が実行できるとしても、その作業対象点で求められている作業をロボットができるとは限らない。すなわち、作業対象点での作業に必要なツールが、エンドエフェクタとして選ばれているか否かわからない。
【００１３】
これでは、結局、作業対象点と、ロボットの姿勢との関連付けのやり直しが必要となる場合がある。
【００１４】
本発明は、上記事情に鑑みてなされたものであり、各作業対象点で実行予定の作業と、エンドエフェクタの特性との関係まで考慮して、オフラインティーチング用のデータが作成できるロボット教示データの作成方法の提供を目的とする。
【課題を解決するための手段】
【００１５】
本発明のロボット教示データの作成方法は、コンピュータ上で仮想のロボットを動作させて、ロボットティーチング用の教示データを作成するロボット教示データの作成方法において、ロボットが作業を行うワーク上の各作業対象点について、ロボットが実行予定の作業内容と作業に用いる工具の工具特性とが適合しているか否かを判定する適合判定段階を含むことを特徴とする。
【発明の効果】
【００１６】
適合判定処理を含むことによって、各作業対象点で実行予定の作業内容と、工具の特性との関係まで考慮して、オフラインティーチング用の教示データを作成できる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、本発明の実施の形態を説明する。
【００１８】
本発明では、コンピュータ上で仮想のロボットを動作させて、ロボットのティーチングを行うオフラインティーチング方法において、特に、ロボットが作業を行うワーク上の作業対象点について、ロボットが実行予定の作業内容と作業に用いる工具の工具特性とが適合しているか否かを判定する適合判定段階を含むことを特徴としている。適合判定段階は、様々な形式のオフラインティーチング方法に適用できる。
【００１９】
したがって、以下では、適合判定段階を適用できる実施形態を２つ例示して説明する。
【００２０】
（第１実施形態）
図１は、ワークおよびロボットを示す図である。
【００２１】
本実施形態では、計測プローブ１０をロボットアーム２０先端に取り付けたロボットにティーチングする例について説明する。計測対象となるワーク３０は、図１に示すように、６枚の平面形状の板部材が１５０度の角度で屏風状に結合されたものとする。
【００２２】
図２は、オフラインティーチングの全体の流れを示す図である。以下の処理は、コンピュータ上で行われる。
【００２３】
まず、ＣＡＤデータから作業対象となるワーク３０のデータが取得される（ステップＳ１）。そして、ワーク３０上の基準点や作業対象点＃１〜６を決定し、作業対象点ごとに個別番号が付され（ここでは＃１〜＃６の連続番号を付与している）、これらの各点の空間座標上の座標、および面直方向（ワーク面に対する法線方向）の座標や角度などが作業対象点ファイルとして作成される（ステップＳ２）。
【００２４】
次に、適合判定処理として、作業対象点ごとに、ロボットが実行予定の作業内容と作業に用いる工具の工具特性とが適合しているか否かが判定される（ステップＳ３）。この適合判定処理が本発明の特徴部分である。適合判定処理の詳細は、後述する。
【００２５】
そして、作業対象点のグループ化と、各作業対象点の作業順序を決める序列化が行われる（ステップＳ４）。このグループ化処理と、序列化処理については、後述する。
【００２６】
続いて、上記序列化された順序で連続的にロボットが動作するように各作業対象点を結線するために、動作軌跡上でのにげ点の設定や細かな調整など、教示データの編集が行われる（ステップＳ５）。にげ点とは、ロボットが次の作業対象点に移動する際に、ロボットとワーク３０とが干渉しないように、一旦ロボットを退避させる点である。にげ点において、次の作業対象点に対して面直方向から計測プローブ１０が進入するようにロボット姿勢が変更される。にげ点の設定などは手動で行ってもよいし、また、ワーク形状からワークと干渉しないような動作軌跡を自動的に求めるアプリケーションソフトウェアを利用して行ってもよい。
【００２７】
そして、言語変換がされ、ロボットの制御装置が実行可能な教示データが作成される（ステップＳ６）。
【００２８】
以上によりオフラインティーチングは終了する。その後、作成した教示データにより実際にロボットを動作させて動作確認が行われ、必要に応じて、さらに、データの変更や細かな調整を行った上で、運用に供される。
【００２９】
（適合判定処理）
図３は、適合判定処理の流れを示すフローチャートである。
【００３０】
上述のステップＳ２で個別番号が付与された複数の作業対象点について、適合判定処理がされていなくて、個別番号の最も若い作業対象点について、計測箇所情報が入力される（ステップＳ１１）。計測箇所情報は、ワークのＣＡＤデータに基づいて得られ、計測箇所の形状（穴、窪み、凸部）等を示すデータである。
【００３１】
次に、上記計測箇所情報に基づいて、作業対象点を計測するための計測条件（作業内容）として、たとえば、計測箇所の形状に適した計測方法、計測プローブの形状、大きさおよび径などの条件が選択される（ステップＳ１２）。さらに、現在オフラインティーチングに設定されている計測プローブのスペック（工具特性）として、作業対象点の計測に用いられる計測プローブの種類と、該計測プローブが計測できる尺度（厚さ、幅、長さ、深さ等）とが入力される（ステップＳ１３）。
【００３２】
そして、作業対象点において、計測プローブのスペックが計測条件を満足するか否かが判定される（ステップＳ１４）。
【００３３】
判定の結果、計測プローブのスペックが計測条件を満足する場合（ステップＳ１４：ＹＥＳ）、ＯＫ処理として、後述のグループ化処理のために、作業対象点に新たに連続番号（たとえば、＃１）を振りなおして、別個に記憶する（ステップＳ１５）。計測プローブのスペックが計測条件を満足しない場合（ステップＳ１４：ＮＯ）、ＮＧ処理として、後の工程のグループ化処理の対象から除外する（ステップＳ１６）。
【００３４】
全ての作業対象点について、適合判定処理を行ったか否かが判定される（ステップＳ１７）。全ての作業対象点について、適合判定処理が終わっている場合（ステップＳ１７：ＹＥＳ）、処理を終了する。適合判定処理が終わっていない場合（ステップＳ１７：ＮＯ）、連続番号に基づいて、次の作業対象点について、ステップＳ１１の処理から繰り返す。
【００３５】
なお、適合判定においてＮＧ処理された作業対象点については、別途、作業者による手動、または自動で、後述の序列化された作業対象点の最初または最後に並べられる。
【００３６】
（グループ化処理、序列化処理）
図４は図２のステップＳ４における作業対象点のグループ化処理の手順を示すサブルーチンフローチャート、図５は図２のステップＳ４における作業対象点の序列化処理の手順を示すサブルーチンフローチャートである。
【００３７】
ここで、作業対象点のグループ化とは、複数の作業対象点に対して、それぞれの点での各面の面直方向が、ある一定の角度範囲内にあるものを抽出して、これらを一つのグループとする処理である。また、序列化とは、作業対象点間を移動する際に最も効率的に移動できるように作業対象点に順序付けをする処理である。
【００３８】
初めに、図４を参照して作業対象点のグループ化の処理について説明する。
【００３９】
まず、作業対象点でのワーク面の面直方向（面に対して９０度）に対してどの程度の差があるものまでを同一グループにするかを決定する３次元角度ずれ許容量Ａを設定する（Ｓ２１）。
【００４０】
この３次元角度ずれ許容量Ａは、エンドエフェクタの種類やワーク形状によってそれぞれ異なる値となる。３次元角度ずれ許容量Ａは、ワーク上の作業対象点において正確に作業を行うことができる許容範囲内であり、かつ、ロボットアーム２０が作業対象点に対して進入する際にワークと干渉しないような範囲内で決定される。本実施形態では、計測プローブ１０とワーク３０との干渉は考慮せず、計測プローブ１０が計測可能なワーク３０表面に対する接触角度を考慮して、面直方向に対して±１５度と範囲が定められる。ワーク３０との干渉を考慮しないのは、本実施形態のワーク３０が屏風状に形成されており、計測プローブ１０がワーク３０と干渉するとは考えにくいからである。
【００４１】
なお、この計測プローブ１０の理想的な接触角度は、計測点に対して垂直に接触する角度、すなわち、ワーク上の作業対象点に対して、計測プローブ先端である教示点が面直方向の角度で進入する角度である。
【００４２】
ステップＳ２１の処理に続いて、最初の作業対象点となる第１作業対象点を指定する（Ｓ２２）。
【００４３】
処理に必要な変数Ｌ、Ｍ、Ｎに初期値として１を設定する（Ｓ２３）。Ｌ、Ｍは作業対象点の連続番号（＃１〜＃６）を示すための変数であり、Ｎはグループ番号を示す変数である。
【００４４】
続いて、第Ｌ番の作業対象点が存在するか否かを判断し（Ｓ２４）、存在しない場合には、後述する序列化処理（図５に示すＳ５１以降の処理）に進む。
【００４５】
一方、第Ｌ番の作業対象点が存在する場合には、次に、その作業対象点が未登録であるか否かを判断する（Ｓ２５）。ここで、その作業対象点が登録済みである場合には、次の作業対象点に移るためにＬを１加算して（Ｓ４１）、ステップＳ２４へ戻る。
【００４６】
ステップＳ２５において、第Ｌ番の作業対象点が未登録であると判断されたときには、次に、その未登録の第Ｌ番の作業対象点の面直方向を前記ステップＳ２で作成した作業対象点ファイルから抽出して変数Ｂに格納する（Ｓ２６）。
【００４７】
続いて、後述のステップＳ３０において、前記第Ｌ番の作業対象点と、その角度を比較する対象となる第Ｌ＋Ｍ番の作業対象点が存在するか否かを判断し（Ｓ２７）、存在しない場合には、変数Ｎに１加算し、同時に変数Ｍを１にして（Ｓ４２）、さらに変数Ｌを１加算して（Ｓ４１）、ステップＳ２４へ戻る。
【００４８】
一方、第Ｌ＋Ｍ番の作業対象点が存在する場合には、次に、その作業対象点が未登録であるか否かを判断する（Ｓ２８）。ここで、その作業対象点が登録済みである場合には、次の比較対象となる作業対象点を検索するためにＭを１加算して（Ｓ４３）、ステップＳ２７へ戻る。
【００４９】
ステップＳ２８において、第Ｌ＋Ｍ番の作業対象点が未登録であると判断されたときには、次に、その未登録の第Ｌ＋Ｍ番の作業対象点の面直方向を前記ステップＳ２で作成したデータファイルから抽出して変数Ｃに格納する（Ｓ２９）。
【００５０】
そして、変数ＢとＣとの３次元角度のずれ量が、３次元角度ずれ許容量Ａの範囲内か否かを判断する（Ｓ３０）。ここで、変数ＢとＣとの３次元角度のずれ量が３次元角度ずれ許容量Ａの範囲内であれば、第Ｌ番の作業対象点と第Ｌ＋Ｍ番の作業対象点とを同じグループとして第Ｎグループに登録する（Ｓ３１）。一方、変数ＢとＣとの３次元角度のずれ量が３次元角度ずれ許容量Ａの範囲を越えている場合には、次の比較対象となる作業対象点を検索するために、Ｍを１加算して（Ｓ４３）、ステップＳ２７へ戻る。
【００５１】
そして、上記Ｓ２４〜３１迄の処理を未登録の作業対象点がなくなるまで実行することにより、同じ姿勢で作業対象点に対して進入することができる作業対象点同士がグループ化される。
【００５２】
次に各作業対象点の作業順序を決める序列化の処理について説明する。図５は、前記図４に続く、序列化の処理手順を示すサブルーチンフローチャートである。ここでは、上記グループ化処理において、作業対象点＃１、＃３、＃５が第１グループとして、作業対象点＃２、＃４、＃６が第２グループとしてグループ化されているとする。
【００５３】
まず、最初に作業を行う第１作業対象点として作業対象点＃１を設定し、この作業対象点＃１を、次に作業を行う作業対象点との距離算出の基準に設定する（Ｓ５１）。
【００５４】
続いて、前述のグループ化処理によって作成したグループごとのロボット姿勢（これを本実施形態では、そのグループ固有のグループ姿勢と定義する）を求める（Ｓ５２）。ここでは、各グループ内の作業対象点番号のうち、最も若い番号が付与されている作業対象点に対する作業対象点の動作姿勢をそのグループのグループ姿勢とする。具体的には、第１グループでは、作業対象点＃１の計測を行うためのロボット進入姿勢がそのグループのグループ姿勢となり、また第２グループでは、作業対象点＃２の姿勢がそのグループのグループ姿勢となる。
【００５５】
続いて、第１作業対象点を含む第１グループをカレントグループに設定する（Ｓ５３）。そして、このカレントグループ内の全ての各作業対象点について、第１作業対象点からの３次元的な距離を算出して、その距離が短い順に序列化する（Ｓ５４）。これにより同じ姿勢で作業ができる作業対象点が、作業対象点＃１から近い順に並ぶように序列化される。
【００５６】
次に、他のグループが存在するか否かを判断し（Ｓ５５）、存在する場合には、現在のカレントグループのグループ姿勢に対して、もっとも変更量の少ないグループ姿勢を有するグループを検索し、これを次のカレントグループに設定する（Ｓ５６）。本実施形態では、前記第１グループのほかに存在するグループは、第２グループのみであるので、ここでは第２グループがカレントグループとして登録される。
【００５７】
そして、この新たに設定されたカレントグループ内から、前のカレントグループ内で序列化された最後の作業対象点（本実施形態では作業対象点＃５）と最も近い作業対象点を検索して、これをこの新たに設定されたカレントグループ内の第１順位とし、かつ距離算出基準として設定する（Ｓ５７）。本実施形態では、作業対象点＃６がこの新たに設定されたカレントグループでの第１順位で、かつ距離算出基準となる。
【００５８】
その後ステップＳ５４へ戻り、以降、次のグループがなくなるまでステップＳ５４〜Ｓ５７が繰り返して実行される。
【００５９】
そして、ステップＳ５５において次のグループがないと判断されたときには、以上の各処理によって、複数の作業対象点を序列化したデータが作成される（Ｓ５８）。
【００６０】
その後、図２に示したメインルーチンに戻り、にげ点の設定や細かな修正などを行って、最終的な教示データが作成される。
【００６１】
以上のように、本発明では、グループ化処理の前に、適合判定処理を追加することによって、各作業対象点で実行予定の作業内容と、エンドエフェクタの特性との関係まで考慮して、オフラインティーチング用の教示データを作成できる。
【００６２】
工具のスペックが計測条件に合わない場合に、後のグループ化および序列化処理から除外できる。したがって、実際には連続してできない作業をグループ化および序列化して、後で、グループ化および序列化をやり直す必要が生じることがない。１度のティーチンングにより、その後のデータ変更や追加作業を行うことなく得ることができる。これにより、オフラインティーチングの工数を低減でき、コストを低減できる。
【００６３】
（変形例）
以上本発明を適用した一実施形態について説明したが、本発明はこのような実施形態に限定されるものではなく、本発明の技術思想の範囲内において当業者が種々の変更を加えて、各種のオフラインティーチングに実施することができることはゆうまでもない。
【００６４】
上記実施形態では、エンドエフェクタとして、計測プローブ１０を装着した場合について説明したが、代わりに他の工具を装着できる。たとえば、ロボットアーム２０に、スポット溶接ガン１１や、ロボットハンド１２を装着することもできる。
【００６５】
図６はスポット溶接ガンを示す図、図７はロボットハンドを示す図である。
【００６６】
図６に示すように、エンドエフェクタとしてスポット溶接ガン１１を装着する場合、図３に示す適合判定処理が異なる。異なる点について、説明する。溶接箇所情報を入力し（ステップＳ１１）、該溶接箇所情報に基づいて適当な溶接条件（作業内容）を選択し（ステップＳ１２）、溶接ガン１１のスペック（工具特性）を入力する（ステップＳ１３）。
【００６７】
溶接条件は、溶接に必要な加圧力、トランス容量、通電時間等である。溶接ガン１１のスペックは、該溶接ガン１１が実現可能な加圧力、トランス容量、通電時間等である。そして、溶接ガン１１のスペックが、溶接条件の加圧力等を満たすか否かが判断される（ステップＳ１４）。
【００６８】
このように、スポット溶接ガン１１を用いる場合には、該スポット溶接ガン１１が溶接可能か否かを判断する。
【００６９】
図７に示すように、エンドエフェクタとしてロボットハンド１２を装着する場合も、図３に示す適合判定処理が異なる。異なる点について、説明する。ロボットハンド１２で把持する把持箇所の情報を入力し（ステップＳ１１）、該把持箇所の情報に基づいて適当な把持条件（作業内容）を選択し（ステップＳ１２）、ロボットハンド１２のスペック（工具特性）を入力する（ステップＳ１３）。
【００７０】
把持条件は、把持するワークの重量、該重量のワークを動かしたときに発生するイナーシャ等である。ロボットハンド１２のスペックは、該ロボットが把持可能な重量および耐えうるイナーシャである。そして、ロボットハンド１２のスペックが、ワークの重量、およびワークを運搬したときのイナーシャに耐えられるか否かが判断される（ステップＳ１４）。
【００７１】
（第２実施形態）
第２実施形態においても、オフラインティーチングにおいて、第１実施形態と同様の適合判定処理を組み込んでいる。以下の処理は、コンピュータ上で行われる。
【００７２】
図８は、本発明を適用したオフラインティーチングの流れを示す図である。
【００７３】
予め、以前にロボットのティーチングのために実機へ投入済みの投入データと、該投入データを基にして実機を動作させるために用いている実データとを作業対象点ごとに比較して、両者の差分データを算出しておく（ステップＳ６１）。投入データとは、オフラインティーチングのために作成された教示データである。実データとは、投入データが実際に実機に投入されて動作確認された際に見つかった誤差が修正されてできたデータである。差分データは、接触教示点（ワークとエンドエフェクタ先端との接触点）における目標座標値について、投入データと実データとが比較して求められる。
【００７４】
差分データは、投入データの作業対象点ごとに対応付けられ、記憶される（ステップＳ６２）。ここまでが事前に用意される段階である。
【００７５】
そして、ＣＡＤデータから作業対象となるワークのデータ、教示するロボットのデータ、作業現場のレイアウトのデータ等が取得される（ステップＳ６３）。
【００７６】
続いて、ワークに対して作業を行うための教示データが作成される（ステップＳ６４）。教示データの作成は、ディスプレイにグラフィック表示されているロボットを動かすことにより、シミュレーションにより実行される。これにより、作業開始点やにげ点、および作業指示（たとえば、ロボットハンドの開閉動作や、溶接ガンの溶接動作といったエンドエフェクタに対する指示）が記憶され、１次教示データが作成される。
【００７７】
作成された教示データ（以下、新データという）の作業対象点ごとに、投入データの作業対象点のうち最も近く、かつ近さが所定の範囲内ものが検索され、対応付けられる（ステップＳ６５）。新データと投入データの作業対象点が近いか否かは、位置が近いか否か、および作業するエンドエフェクタの姿勢が近いか否かにより判断される。
【００７８】
位置が近いか否かは、新データと投入データの作業対象点の接触教示点における目標座標値が近く、その間の距離が所定の範囲より近いか否かで判断される。姿勢が近いか否かは、新データおよび投入データの作業対象点の接触教示点に対する角度が所定の範囲内か否かにより判断される。位置および姿勢が近いか否かを判断するための基準は、これまで教示データを作成してきた実績値や実験から適宜決定される。
【００７９】
ステップＳ６５において対応付けられた新データの作業対象点と、投入データの作業対象点とについて、適合判定処理が実行される（ステップＳ６６）。適合判定処理では、新データの各作業対象点について、作業内容と工具特定とが適合しているかどうかが判定される。詳細については、後述する。
【００８０】
適合判定処理において作業内容と工具特性とが適合している新データの作業対象点が、これと対応付けられた投入データの作業対象点と実データとの差分データ基づいて、補正される（ステップＳ６７）。
【００８１】
補正が終了すると、これが最終教示データとして出力され、処理が終了される（ステップＳ６８）。
【００８２】
次に、上記ステップＳ６６の適合判定処理について説明する。
【００８３】
適合判定処理は、第１実施形態で説明したものと略同様である。図３のフローチャートを参照して、エンドエフェクタが計測プローブである場合について説明する。第２実施形態では、第１実施形態とは、ＯＫ処理（ステップＳ１５）と、ＮＧ処理（ステップＳ１６）の内容が異なる。
【００８４】
第２実施形態の適合判定処理では、第１実施形態と同様に、作業内容と工具特性とが適合しているか否かを、計測スペックが計測条件を満足するか否かにより判定する（ステップＳ１１〜１４）。
【００８５】
計測スペックが計測条件を満足する場合（ステップＳ１４：ＹＥＳ）、ＯＫ処理として、該満足する作業対象点を差分データによる補正の対象とし記憶する（ステップＳ１５）。
【００８６】
計測スペックが計測条件を満足しない場合（ステップＳ１４：ＮＯ）、ＮＧ処理として、該満足しない作業対象点を差分データによる補正の対象から除外して、ＯＫ処理の作業対象点とは別個に記憶する（ステップＳ１６）。
【００８７】
全作業対象点について、判定が終了するまで（ステップＳ１７）、処理が繰り返される。なお、上記適合判定処理では、エンドエフェクタとして、計測プローブのほかにスポット溶接ガンやロボットハンドを用いることもできる。
【００８８】
以上のように、本発明では、作成した新データを補正する前に適合判定処理を追加することによって、各作業対象点で実行予定の作業内容と、エンドエフェクタの特性との関係まで考慮して、適合する作業対象点だけを補正して、オフラインティーチング用の教示データを作成できる。したがって、投入データの作業対象点と位置および姿勢が近く、かつ、作業対象点に必要な作業内容と工具のスペックとが適合する場合にのみ、新データを補正し、誤差の少ない教示データを完成できる。
【００８９】
逆に、投入データの作業対象点と位置および姿勢が近いというだけでは、該投入データの作業対象点と同様の補正はされない。補正して教示データを作成した後に、作業内容と工具の特性とが適合せずに、教示データを作り直すことがなくなり、教示データの作成工数を低減できる。
【図面の簡単な説明】
【００９０】
【図１】ワークおよびロボットを示す図である。
【図２】オフラインティーチングの全体の流れを示す図である。
【図３】適合判定処理の流れを示すフローチャートである。
【図４】図２のステップＳ４における作業対象点のグループ化処理の手順を示すサブルーチンフローチャートである。
【図５】図２のステップＳ４における作業対象点の序列化処理の手順を示すサブルーチンフローチャートである。
【図６】スポット溶接ガンを示す図である。
【図７】ロボットハンドを示す図である。
【図８】本発明を適用したオフラインティーチングの流れを示す図である。
【符号の説明】
【００９１】
１０…計測プローブ、
１１…スポット溶接ガン、
１２…ロボットハンド、
２０…ロボットアーム、
３０…ワーク。
【図１】
2006004262.tif 000003
【図２】
2006004262.tif 000004
【図３】
2006004262.tif 000005
【図４】
2006004262.tif 000006
【図５】
2006004262.tif 000007
【図６】
2006004262.tif 000008
【図７】
2006004262.tif 000009
【図８】
2006004262.tif 000010