(57)【要約】【課題】既存のティーチングデータにおける作業点の前後の退避点のデータを有効に利用し、ティーチングデータを迅速且つ容易に作成する。【解決手段】既存のティーチングデータＱ、Ｒから、作業点のデータ毎に関連性のある退避点のデータを含ませてグループを設定する（ステップＳ２）。新規に作成するティーチングデータＰの作業点Ｐ１〜Ｐ４毎にグループのいずれか１つを適用する（ステップＳ３〜ステップＳ７）。選択されたグループを、作業点のＴＣＰに基づいて回転変換する（ステップＳ８）。グループの端部同士を接続してティーチングデータＰを設定する。【選択図】図７
2007144538.tif 000002
【特許請求の範囲】
【請求項１】
エンドエフェクタによりワークの複数の作業点に対して順次作業を行うロボットのティーチングデータ作成方法において、
第１ワークにおける複数の作業点及び該作業点に対応する退避点に関するデータが記録されたロボットの既存の第１ティーチングデータから、作業点のデータ毎に該作業点に関連性のある退避点のデータを含ませてグループを設定する分割工程と、
第２ワークの１以上の作業点に関するデータを含む第２ティーチングデータに対して作業点毎に前記グループのいずれか１つを選択する選択工程と、
前記選択工程で選択されたグループを、前記第２ティーチングデータの作業点に関するデータに基づいて変換する変換工程と、
を有することを特徴とするロボットのティーチングデータ作成方法。
【請求項２】
請求項１記載のロボットのティーチングデータ作成方法において、
前記第１ティーチングデータの作業点及び退避点に関するデータは、動作順に関係付けられて記録されており、
前記分割工程では、作業点に対して少なくとも動作順が前後の退避点をグループに含ませることを特徴とするロボットのティーチングデータ作成方法。
【請求項３】
請求項１又は２記載のロボットのティーチングデータ作成方法において、
前記作業点に関するデータ及び前記退避点に関するデータは、前記エンドエフェクタの侵入方向又は退避方向のデータを含み、
前記分割工程では、作業点における前記エンドエフェクタの進入又は退避方向に対して、進入又は退避方向の角度差が所定範囲内である退避点をグループに含ませることを特徴とするロボットのティーチングデータ作成方法。
【請求項４】
請求項１〜３のいずれか１項に記載のロボットのティーチングデータ作成方法において、
前記分割工程では、対応する作業点からの距離が所定範囲内である退避点をグループに含ませることを特徴とするロボットのティーチングデータ作成方法。
【請求項５】
請求項１〜４のいずれか１項に記載のロボットのティーチングデータ作成方法において、
前記変換工程では、グループ内の作業点及び退避点の相対位置を維持した状態で、前記グループを移動及び回転させることを特徴とするロボットのティーチングデータ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークの各作業点におけるロボットの姿勢を含むティーチングデータ作成方法に関し、特に、既存のワークに対するティーチングデータを利用して別のワークにおけるティーチングデータを設定するロボットのティーチングデータ作成方法に関する。
【背景技術】
【０００２】
製造ラインに設置された多関節ロボットのティーチング作業の効率化を図るため、あるいは、製造ラインの稼働率を向上させるために、オフラインによるティーチング（以下、オフラインティーチングという。）が行われている。オフラインティーチングでは、コンピュータ上に多関節ロボット並びに作業対象物であるワーク及び周辺構造物のモデルを構築し、このモデルを用いてティーチングデータを作成した後、前記ティーチングデータを現場の多関節ロボットに供給することにより、製造ラインを停止させることなくティーチングデータを作成することができる。
【０００３】
オフラインティーチングによれば、製造ラインを停止させる必要がないが、非効率に行うとティーチング用のコンピュータを長時間使用する必要が生じるとともに、ティーチング作業を行うオペレータの負担が大きい。また、多関節ロボットは、所定の搬送ラインの近傍に設けられており、例えば、該搬送ラインで搬送される車両に対して溶接作業を行うが、搬送される車両の種類は１種類とは限らず、対応すべき車種が変更されるときには、新たにティーチングデータを作成することになる。
【０００４】
これを解決するために、特許文献１では、既存のワークに対してすでに作成済みである既存のティーチングデータを、新規のワークに合わせて変換し、新規のティーチングデータを作成する方法が提案されている。
【０００５】
具体的には、既存のティーチングデータがある場合に、変換先の作業点におけるエンドエフェクタの姿勢を示す複数のパラメータのうち１つを固定設定しておき、既存のティーチングデータにおける対応する作業点におけるエンドエフェクタの姿勢を固定設定した前記パラメータが一致するように変換している。このような技術によれば、既存のティーチングデータを有効に利用することができ、コンピュータの使用時間やオペレータの負担を軽減することができて好適である。
【０００６】
【特許文献１】特開２００４−３６２０１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、前記特許文献１で提案されている方法では、ワークに対してロボットのエンドエフェクタが作業を行う作業点については既存データが有効に利用されるが、実際には該作業点に達するまでには中継するいくつかの退避点、中継点が設定されており、これらの退避点等のデータについては必ずしも有効に利用されていない。
【０００８】
また、既存データは対応する生産ライン等に対して最適に設定されているものであることから、新規データに利用する場合には、少なくとも作業点及びその近傍の退避点等についてはできるだけ修正しないで適用できることが望ましい。
【０００９】
さらに、ティーチングデータにおける退避点の設定につては、作業点のデータに対応して適切な設定を行う必要があることから、試行錯誤的に行って時間を要するとともに、オペレータには相当の習熟が求められる。
【００１０】
本発明はこのような課題を考慮してなされたものであり、既存のワークに対する既存のティーチングデータを有効に利用し、別のワークに対するティーチングデータを効率的に作成することを可能にし、特に既存のティーチングデータにおける作業点に対応した退避点のデータを有効に利用し、迅速且つ容易に行うことができるロボットのティーチングデータ作成方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るロボットのティーチングデータ作成方法は、エンドエフェクタによりワークの複数の作業点に対して順次作業を行うロボットのティーチングデータ作成方法において、第１ワークにおける複数の作業点及び該作業点に対応する退避点に関するデータが記録されたロボットの既存の第１ティーチングデータから、作業点のデータ毎に該作業点に関連性のある退避点のデータを含ませてグループを設定する分割工程と、第２ワークの１以上の作業点に関するデータを含む第２ティーチングデータに対して作業点毎に前記グループのいずれか１つを選択する選択工程と、前記選択工程で選択されたグループを、前記第２ティーチングデータの作業点に関するデータに基づいて変換する変換工程とを有することを特徴とする。
【００１２】
このように、第１ティーチングデータから作業点のデータ毎に関連性のある退避点のデータを含ませてグループを設定し、第２ティーチングデータの作業点毎にグループのいずれか１つを選択することにより、退避点が作業点と関連付けられたまま利用される。したがって、作業点毎に対応した退避点を新たに再設定する必要がなく、既存の第１ティーチングデータにおける退避点のデータを有効に利用し、迅速且つ容易にオフラインティーチングを行うことができる。
【００１３】
この場合、前記第１ティーチングデータの作業点及び退避点に関するデータは、動作順に関係付けられて記録されており、前記分割工程では、作業点に対して少なくとも動作順が前後の退避点をグループに含ませるとよい。これにより、第２ワークに対しても、作業点に対する侵入動作及び退避動作が相当正確に行われる。
【００１４】
前記作業点に関するデータ及び前記退避点に関するデータは、前記エンドエフェクタの侵入方向又は退避方向のデータを含み、前記分割工程では、作業点における前記エンドエフェクタの進入又は退避方向に対して、進入又は退避方向の角度差が所定範囲内である退避点をグループに含ませるとよい。これにより、作業点と退避点におけるエンドエフェクタの進入、退避方向が略一致に維持され、エンドエフェクタの動作が小さく抑えられるため、作業点と退避点間の動作時における干渉の可能性が低い作業点及び退避点をグループ化できる。
【００１５】
また、前記分割工程では、対応する作業点からの距離が所定範囲内である退避点をグループに含ませるとよい。これにより、遠方の退避点は除外され、所定範囲内のまとまりあるグループが得られ、第２ティーチングデータに適用しやすい。
【００１６】
第１ティーチングデータでは作業点、退避点、及び作業点と退避点との間におけるロボットの姿勢がワーク等に対して干渉しないこと等が確認されていることから、前記変換工程では、グループ内の作業点及び退避点の相対位置を維持した状態で前記グループを移動及び回転させるとよい。これにより、変換先の第２ティーチングデータによる第２ワークに対する作業においても干渉の確率は相当に低くなり、データの補正の手間が軽減する。
【発明の効果】
【００１７】
本発明に係るロボットのティーチングデータ作成方法によれば、第１ティーチングデータから作業点のデータ毎に該作業点に関連性のある退避点のデータを含ませてグループを設定し、第２ティーチングデータの作業点毎にグループのいずれか１つを選択することにより、退避点が作業点と関連付けられたまま利用される。したがって、作業点毎に退避点を新たに再設定する必要がなく、既存の第１ティーチングデータにおける退避点のデータを有効に利用し、迅速且つ容易にオフラインティーチングを行うことができる。
【００１８】
さらに、退避点を作業点と関連付けたまま利用することにより、その後の変換の程度が小さくて済み、第１ティーチングデータの信頼性、最適性を維持して適用される。
【発明を実施するための最良の形態】
【００１９】
以下、本発明に係るロボットのティーチングデータ作成方法について実施の形態を挙げ、添付の図１〜図１２を参照しながら説明する。本実施の形態に係るロボットのティーチングデータ作成方法は、図１に示すロボットシステム１０において用いられる。
【００２０】
図１に示すように、ロボットシステム１０は、オフラインティーチング装置１１と、このオフラインティーチング装置１１によって作成されたティーチングデータが適用されるロボット１２からなる。
【００２１】
ロボット１２は産業用の多関節型であり、ベース部１４と、該ベース部１４を基準にして順に、第１アーム１６、第２アーム１８及び第３アーム２０とを有し、該第３アーム２０の先端に溶接ガンであるエンドエフェクタ２２が設けられている。エンドエフェクタ２２は、第３アーム２０に対して着脱自在である。第１アーム１６はベース部１４に対して水平及び垂直に回動可能な軸Ｊ１、Ｊ２によって回動可能である。第２アーム１８は第１アーム１６と軸Ｊ３で回動可能に連結されている。第２アーム１８は軸Ｊ４によって捻れ回転が可能になっている。第３アーム２０は第２アーム１８と軸Ｊ５で回動可能に連結されている。第３アーム２０は軸Ｊ６によって捻れ回転が可能になっている。軸Ｊ４及び軸Ｊ６はそれぞれ３６０°以上の捻れ回動が可能である。
【００２２】
エンドエフェクタ２２は、軸線Ｌ上に開閉する一対の電極２２ａ、２２ｂを有するＣ型溶接ガンであり、この電極２２ａ、２２ｂは閉状態では前記軸線Ｌ上の作業点（以下、ＴＣＰ（Tool Center Point)という。）でワークに接触する。ＴＣＰから本体側の電極２２ａ、２２ｂの軸心に一致する方向をベクトルＺとし、ベクトルＺに直交しエンドエフェクタ２２であるＣ形溶接ガンの開口部方向をベクトルＸとする。ベクトルＺの方向はガン加圧方向ということができる。また、ベクトルＸ、ベクトルＺに互いに直交する方向をベクトルＹとする。
【００２３】
軸Ｊ１、Ｊ２、Ｊ３、Ｊ４、Ｊ５及びＪ６の駆動機構並びに電極２２ａ、２２ｂの開閉機構はそれぞれ図示しないアクチュエータにより駆動され、ＴＣＰの座標は軸Ｊ１〜Ｊ６の回動角度及びロボット１２の各部の寸法により決定される。
【００２４】
このような６軸構成のロボット１２の動作によって、先端部に接続されたエンドエフェクタ２２は搬送される車両の近傍における任意の位置に移動可能であって、且つ、任意の向きに設定可能である。換言すれば、エンドエフェクタ２２は６自由度の移動が可能である。ロボット１２は、回転動作以外にも伸縮動作、平行リンク動作等の動作部を有するものであってもよい。ロボット１２は、ロボット制御部２４に設定されたティーチングデータに従って動作する。
【００２５】
図２に示すように、ロボット１２は車両の製造ライン２５の近傍に隣接して２台が配設されており、それぞれロボット制御部２４の作用下に同時に動作し、ワークである車両の溶接をする。この場合、例えば、一方が前列側のドア枠の溶接を行い、他方が後列側のドア枠の溶接を行うように作業分担している。この２台のロボット１２の配列方向Ｃは、製造ライン２５の搬送方向と並列に設定されているが、ロボット１２やワークの仕様によって配列方向Ｃは、搬送方向に対して非平行に設定される場合もある。例えば、天井つり下げ型のロボットを２台用いて溶接をする場合には、搬送方向と直角に配列する場合もある。
【００２６】
オフラインティーチング装置１１は、コンピュータによって構成されるものであり、図３に示すように、制御部２６は、オフラインティーチング装置１１の全体の制御を行うＣＰＵ２８と、記録部であるＲＯＭ３０及びＲＡＭ３２と、ハードディスクドライブ（ＨＤＤ）３４によってデータが読み書きされるハードディスク３６と、フレキシブルディスクやコンパクトディスク等の外部記録媒体３８に対してティーチングデータ等の読み書きを行う記録媒体ドライブ４０と、ロボット１２のティーチングデータを作成するティーチングデータ作成回路４２と、作成されたティーチングデータに基づいてロボット１２の動作シミュレーションを行うシミュレーション回路４４とを備える。なお、制御部２６には、オペレータによるティーチング作業の補助、シミュレーション画像の表示等を行うためのディスプレイ４６が描画制御回路４８を介して接続されるとともに、インタフェース５０を介して入力装置としてのキーボード５２及びマウス５４が接続される。
【００２７】
ハードディスク３６には、ロボット１２のティーチングデータを作成するためのティーチングデータ作成プログラム５６と、ロボット１２、作業対象物及びその他の設備に係る形状データ５８と、ロボット１２の各軸の動作仕様を含むロボット仕様データ６０とが記録される。
【００２８】
図４に示すように、ロボット１２が溶接を行うワークは、対応のティーチングデータ（第１ティーチングデータ）Ｑ、Ｒがすでに作成されている車両のドア枠（第１ワーク）１００、１０２と、対応するティーチングデータ（第２ティーチングデータ）Ｐが未作成である車両のドア枠（第２ワーク）１０４であり、各ドア枠に対する溶接を行う。ドア枠１００，１０２及び１０４は、それぞれ車両の前列左側に対応したドア枠であって、ある程度近似した形状である。
【００２９】
なお、図４では、対応する各車両が製造ライン２５上を搬送され、ロボット１２により溶接されるステーションに搬入され停止した状態で、それぞれのドア枠１００〜１０４を模式的且つ重複的に示している。つまり、ロボット１２を基準として製造ライン２５上の仮想的に同位置に配置した場合を示している。
【００３０】
ドア枠１００は比較的縦長であり、ドア枠１０２は比較的横長である。ドア枠１０４はドア枠１００及び１０２の略中間的な形状である。ティーチングデータＱ及びＲは、既存のデータでありドア枠１００及び１０２に対して実際に適用されている実績のあるデータである。したがって、ティーチングデータＱ及びＲに基づく動作では、障害物との干渉や、２台のロボット１２の相互干渉がないこと及びサイクルタイムが要求値以内であることが確認されており、ティーチングデータＱ及びＲはそれぞれ製造ライン２５に対して最適化されている。
【００３１】
ドア枠１００に対応するティーチングデータＱは、複数のティーチングポイントＱａ〜Ｑｖ（小文字の添え字は動作順序を示す（以下、同様）。Ｑａ〜Ｑｖを代表的にティーチングポイントＱφとも示す。）を含むデータである。このうち、６つのティーチングポイントＱｂ、Ｑｆ、Ｑｊ、Ｑｎ、Ｑｑ及びＱｕは、ドア枠１００に対して溶接を行う作業点であり、それ以外は退避点である。ティーチングデータＱでは、ドア枠１００に対して（例えば、左側のドア枠の場合）時計方向に移動しながら順次溶接を行う。ティーチングポイントＱａ〜Ｑｖは動作順に関係付けられて記録されている。
【００３２】
退避点は、各作業点の間を中継するティーチングポイントであり、所定の障害物等を避けるとともに、作業点に対してスムーズに進入又は退避することができるように設定されている。
【００３３】
また、図４においては、各ティーチングポイントＱφは、代表的にエンドエフェクタ２２のＴＣＰの位置を示しており、実際には、図５に示すように、各ポイント毎にロボット１２の各軸Ｊ１〜Ｊ６の角度と、ＴＣＰの向きが規定されている。すなわち、図６に示すように、ティーチングポイント（例えば、Ｑｂ）について、エンドエフェクタ２２及びＴＣＰの向きが直交ベクトルＸ、Ｙ、Ｚによって３次元的に規定される。図４においては、作業点であるティーチングポイントＱｂ、Ｑｆ、Ｑｊ、Ｑｎ、Ｑｇ及びＱｕについてはベクトルＸを代表的に示す。図４及び図６から明らかなように、ベクトルＸはドア枠１００の端面に対して略直角方向に規定されている。また、作業点に対して動作順が前後の退避点（例えば、Ｑａ、Ｑｃ）は、対応する作業点（例えば、Ｑｂ）の近傍の点であって、該作業点を基準としてドア枠１００の端面に対して略直角方向の位置に設定されている。さらに、これらの作業点の前後の退避点では、ベクトルＸがドア枠１００の端面に対して略直角方向となるように設定されてる。このような設定により、エンドエフェクタ２２はＣ型溶接ガンであることからベクトルＸがドア枠１００の端面に対して進入及び退避が確実且つ容易に行われる。作業点の前後の退避点以外の退避点（例えば、Ｑｄ）は、ドア枠１００の形状や、他の障害物等を考慮して、干渉がなくしかも短時間で移動可能なように適切な中継点として設定されている。
【００３４】
ドア枠１０２に対応するティーチングデータＲは、ティーチングデータＱと同様に複数のティーチングポイントＲａ〜Ｒｏを含むデータである。このうち、４つのティーチングポイントＲｂ、Ｒｇ、Ｒｊ及びＲｎは、ドア枠１０２に対して溶接を行う作業点であり、それ以外は退避点である。ティーチングデータＲは、ティーチングデータＱと同様に、ティーチングポイントＲａ〜Ｒｏ毎に、各軸Ｊ１〜Ｊ６の角度や、ＴＣＰの向きが設定されており、ドア枠１０２に対して時計方向に移動しながら溶接を行う。作業点と退避点との相対的な位置及びＴＣＰの向きについてもティーチングデータＱと同様に設定されている。
【００３５】
ドア枠１０４に対するティーチングデータＰについては、４つの作業点Ｐ１〜Ｐ４について、その位置及びＴＣＰの向きのみが仮設定されており、作業点Ｐ１〜Ｐ４におけるロボット１２の姿勢は未設定である。また、退避点の位置、退避点におけるＴＣＰの向き及び退避点におけるロボットの姿勢についても未設定である。作業点Ｐ１〜Ｐ４の位置及びＴＣＰについては、設計条件によって予め定められている。
【００３６】
次に、このような既存のティーチングデータＱ及びＲに基づいて、ドア枠１０４に対応したティーチングデータＰを設定する方法について説明する。
【００３７】
図７のステップＳ１において、ドア枠１０４の形状や仮設定されている４つの作業点Ｐ１〜Ｐ４についての情報をオフラインティーチング装置１１に入力する。この入力作業は、オペレータが直接的に入力を行い、又は所定の記録媒体から読み込むことにより行われる。なお、これ以後の処理は、オフラインティーチング装置１１において自動的に行われる。また、以下の処理における各ワーク、ロボット１２及びエンドエフェクタ２２等は、オフラインティーチング装置１１内における仮想空間上でのモデルデータとして扱われる。
【００３８】
ステップＳ２（分割工程）において、ティーチングポイントＱφ及び（又は）Ｒφから、作業点のデータ毎に所定のルールに基づいて関連性のある退避点のデータを含ませてグループを設定する。このグループ化により、例えば、図４に示すように、６つのグループＧｑ１〜Ｇｑ６が設定される。グループＧｑ１は、ティーチングポイントＱａ〜Ｑｃからなり、グループＧｑ２は、ティーチングポイントＱｄ〜Ｑｇからなり、グループＧｑ３は、ティーチングポイントＱｈ〜Ｑｋからなり、グループＧｑ４は、ティーチングポイントＱｌ〜Ｑｏからなり、グループＧｑ５は、ティーチングポイントＱｐ〜Ｑｓからなり、グループＧｑ６は、ティーチングポイントＱｔ〜Ｑｖからなる。
【００３９】
また、ティーチングポイントＲφについても同様にグループ化され、例えば、図４に示すように、４つのグループＧｒ１〜Ｇｒ４が設定される。グループＧｒ１は、ティーチングポイントＲａ〜Ｒｃからなり、グループＧｒ２は、ティーチングポイントＲｄ〜Ｒｈからなり、グループＧｒ３は、ティーチングポイントＲｉ〜Ｒｌからなり、グループＧｒ４は、ティーチングポイントＲｍ〜Ｒｏからなる。このように設定された各グループはいわゆるテンプレートとし用いることができ、以下に示すように利用される。なおグループ化の手順については後述する。
【００４０】
ステップＳ３〜７において、それぞれの対象作業点に対して適用するグループを選択する。この際、ティーチングデータＲ及びＱがすでに最適化されていることから、選択されたグループを後述する変換工程において対象作業点に対して変換したときに、変換前後におけるロボット１２の姿勢差ができるだけ小さくなるようなグループを選択するとよい。
【００４１】
ステップＳ３において、ドア枠１０４に対する作業点であるＰ１〜Ｐ４のうち対象作業点を１つ選択し、該対象作業点と各グループの作業点との直距離を調べ、直距離が所定範囲γ（図４参照）内であるグループを抽出する。例えば、対象作業点としてティーチングポイントＰ１が選ばれている場合、図４に示すように、グループＧｑ１、Ｇｑ２、Ｇｒ１及びＧｒ２が抽出される。
【００４２】
このように、対象作業点と距離の近いグループが選ばれることから、対象作業点に対してロボット１２の姿勢が略同じ状態で適用が可能となる。直距離の比較によるグループ選択は簡単な演算であって、しかも、変換の際にロボット１２の姿勢が大きく変化する作業点を排除し、後の演算を効率よく行うことができる。
【００４３】
ステップＳ４において、対象作業点とステップＳ３で選択したグループの作業点との配列方向Ｃ（図２参照）の距離を調べ、該距離が所定範囲γｃ内であるグループを抽出する。これにより、対象作業点であるＰ１に対しては、グループＧｑ１、Ｇｑ２及びＧｒ１が抽出され、グループＧｒ２は除外される。
【００４４】
このように、２台のロボット１２の配列方向Ｃの距離が所定範囲γｃを超えるグループを排除することにより、２台のロボット１２同士の相互干渉のおそれが低減する。すなわち、多関節ロボット同士の相互の干渉を考慮すると、一方のロボットは他方のロボットの方向に対しての動作の許容範囲が狭くなる傾向があることから、対象作業点に対して配列方向Ｃの距離が短い作業点を選択するとことにより、後の変換工程において各ロボットは配列方向Ｃへの姿勢の変化が少なくなり、ロボットの相互干渉が低減する。
【００４５】
ステップＳ５において、対象作業点とステップＳ４で選択したグループにおける作業点のＴＣＰを比較して、角度差の小さいものをさらに抽出する。例えば、代表的にベクトルＸで比較した場合、図４から明らかなように、Ｐ１におけるベクトルＸは左向きの略水平方向であることから、作業点が同様に左向き略水平方向のベクトルＸを有するグループＧｑ１及びＧｑ２が選択され、作業点のベクトルＸの向きが斜め左上方であるグループＧｒ１は除外される。
【００４６】
このように、対象作業点に対してＴＣＰの向きの角度差が小さい作業点を有するグループを選択することによって、変換前後のエンドエフェクタ２２の姿勢差を小さくすることができる。
【００４７】
ステップＳ６において、対象作業点に対してそれぞれに規定されたＴＣＰの向きとなるようにエンドエフェクタ２２を配置した場合のロボット１２の各姿勢を求める。該姿勢は、例えば、対象作業点の位置及びＴＣＰの向きに基づいて、行列式を用いた公知の逆演算手法により求められる。
【００４８】
ステップＳ７において、対象作業点におけるロボット１２の姿勢と、ステップＳ５で選択されたグループにおける作業点におけるロボット１２の姿勢とを比較し、選択されたグループの作業点におけるロボット１２の姿勢を、対象作業点におけるロボット１２の姿勢に変化させた場合に、ロボット１２の特定の関節の姿勢差が最も小さい作業点のグループを選択する。具体的には、ロボット１２の６つの関節のうち、エンドエフェクタ２２が接続される先端側の３つの回転関節である軸Ｊ４、Ｊ５及びＪ６の姿勢差が最も小さいグループを選択する。この姿勢差は、例えば角度差の絶対値の総和や、角度差の二乗和によって表される。つまり、ロボット１２では、基端側の軸Ｊ１、Ｊ２及びＪ３がエンドエフェクタ２２の位置を支配的に規定し、先端側の軸Ｊ４、Ｊ５及びＪ６がエンドエフェクタ２２の姿勢（つまり、ロール、ピッチ、ヨー）を支配的に規定している。したがって、軸Ｊ４〜Ｊ６の姿勢差を抑制することにより、エンドエフェクタ２２の姿勢を略維持した適切なデータが選択される。なお、仮に伸縮軸が設けられている場合では、伸縮軸はエンドエフェクタ２２の姿勢に影響がないことから、伸縮軸を除く回転軸の先端側３軸について姿勢差の比較を行うとよい。このようなステップＳ７の処理により、対象作業点であるＰ１に対して、例えばグループＧｑ１が選択される。
【００４９】
対象作業点から近距離の作業点を含むグループを選択する工程（ステップＳ３、Ｓ４）と、対象作業点に対するエンドエフェクタ２２の作業姿勢に対する姿勢変化が所定範囲内である作業点を含むグループを選択する工程（ステップＳ５）と、対象作業点に対して先端側３軸の姿勢差が小さい作業点を含むグループを選択する工程（ステップＳ７）については、上記の順序で行う必要はなく、任意の順序で行えばよい。また、各選択工程で選択するグループは、所定範囲内のものを選択する方法に限らず、好条件のものから順に所定数（１を含む）を選択するようにしてもよい。
【００５０】
次に、ステップＳ８において、前記の各選択工程で最終的に選択されたグループを対象作業点に対応するように回転変換処理を行う。例えば、図８に示すように、選択されたグループＧｑ１を移動し、作業点であるティーチングポイントＱｂを対象作業点Ｐ１に一致させたとしても、ＴＣＰの向きは異なっていることがある。例えば、代表的にベクトルＸで比較して角度θだけずれている場合には、グループＧｑ１のデータ全体をベクトルＺを中心に角度θだけ回転させる。これにより、ティーチングポイントＱｂのＴＣＰは対象作業点のＴＣＰと一致するとともに、相対位置を維持しながら他のティーチングポイントＱａ及びＱｃが移動することになる。ティーチングデータＱ，Ｒでは退避点がワークに対して干渉しないこと等が確認されていることから、前記変換工程では、グループ内の作業点及び退避点の相対位置を維持して変換を行うとよい。これにより、変換先の第２ティーチングデータによる第２ワークに対する作業においてもワークに対する干渉等の確率は相当に低くなり、データの補正の手間が軽減する。なお、実際には３次元的な回転変換を行う。
【００５１】
ステップＳ９において、ドア枠１０４の４つの作業点Ｐ１〜Ｐ４の全てについてグループを選択して回転変換を終了したか否かを確認する。未対応の作業点が残っている場合には、そのうちの１つを新たな対象作業点として設定するとともに、ステップＳ３へ戻りグループ選択の処理を続行する。
【００５２】
このようにして、全ての作業点Ｐ１〜Ｐ４について、前記ステップＳ３〜Ｓ８の処理を行うことによりそれぞれにグループが対応付けられ、例えば、図９に示すように、作業点Ｐ１〜Ｐ４について順にグループＧｑ１、Ｇｒ１、Ｇｑ４及びＧｑ６が選択され、回転変換される。
【００５３】
ステップＳ１０において、作業点Ｐ１〜Ｐ４に対応した各グループＧｑ１、Ｇｒ１、Ｇｑ４及びＧｑ６内の作業点及び退避点間についての動作のシミュレーションを行い、ワークやロボット１２相互の干渉がないか確認する。
【００５４】
仮に干渉の発生が確認された場合には、対応するグループを対象作業点を中心として適度に回転変換を行い、再度シミュレーションを行う。この際の回転変換は、前記ステップＳ９と同様にグループ全体を回転させ、作業点と退避点との相対位置を維持する。また、作業点におけるＴＣＰのガン加圧方向であるベクトルＺは固定したまま、ベクトルＸ及びベクトルＹを回転させる変換を行う。これにより、電極２２ａ、２２ｂによるワークの保持姿勢が適切に維持される。
【００５５】
ステップＳ１１において、図９に示すように各グループの端部同士を接続して順序付けてティーチングデータＰを仮設定し、該ティーチングデータＰに基づく動作シミュレーションを行い、ワークやロボット１２相互の干渉がないか確認する。干渉が発生する場合には、適当な修正を行う。例えば、ティーチングポイントＲｃとティーチングポイントＱｌとの間の経路上に障害物２００等が存在することにより干渉が発生する場合には、障害物２００を回避するための中継点Ｐｘを設定するとよい。
【００５６】
このようにして、ドア枠１００及び１０２に対する既存のティーチングデータＱ及びＲを有効利用して、別のワークであるドア枠１０４に対するティーチングデータＰを作成できる。このようなティーチングデータ作成方法では、既存のティーチングＱ、Ｒの部分的なグループ内の作業点、退避点の関係が崩されないで新規のティーチングデータＰに適用され、しかもドア枠１０４の形状は、ドア枠１００及び１０２の形状にある程度近似していることから条件の合うグループが選択される可能性が高く、ティーチングＱ、Ｒの製造ライン２５に対する最適性が維持される。
【００５７】
次に、前記のステップＳ２における分割工程について詳述する。分割工程における作業点、待避点のグループ化には、例えば以下の６つの方法が挙げられる。
【００５８】
第１の方法では、図１０に示すように、ティーチングポイントＱ１〜Ｑ９（前記のティーチングポイントＱφに相当するものとする。）のうち、作業点であるティーチングポイントＱ１及びＱ７を中心として、中間点で互いに表面が接する同径の球１１０及び１１２を設定し、該球１１０に含まれるティーチングポイントＱ１及びＱ２をグループＧ１１と設定するとともに、球１１２に含まれるティーチングポイントＱ６、Ｑ７及びＱ８をグループＧ１２に設定する。この場合、その他のティーチングポイントＱ３、Ｑ４及びＱ５はグループから除外される。
【００５９】
第１の方法では、球１１０及び１１２を設定することにより、作業点を中心とした適当な範囲内の退避点がグループ化され、後述するティーチングデータＰに対して適用しやすい。なお、球１１０及び１１２は便宜的なものであって必ずしも設定する必要はなく、ティーチングポイントＱ１とティーチングポイントＱ７との距離の１／２の長さで制限し、ティーチングポイントＱ１及びＱ７に対する直距離がこの長さ範囲内のものを選択してもよい。
【００６０】
第２の方法は、作業点であるティーチングポイントＱ１及びＱ７を中心として、距離が所定範囲α内であるものを選択してグループ化する方法である。この場合、範囲αが球１１０、１１２の半径と略同径であれば、第１の方法と同様のグループ化がなされ、ティーチングポイントＱ１に対応したグループＧ２１にはティーチングポイントＱ１及びＱ２が含まれ、ティーチングポイントＱ７に対応したグループＧ２２にはティーチングポイントＱ６〜Ｑ８が含まれる。仮に範囲αが広く設定されて、グループＧ２１とグループＧ２２が重複する箇所が生じた場合で、該重複箇所にティーチングポイントが存在するときには、重複しない範囲に存在して隣接しているティーチングポイントと同じグループに設定すればよい。また、両方のグループに共通的に属するようにしてもよい。
【００６１】
第２の方法では、所定の範囲α内の退避点がグループ化されることから、各グループが範囲αで規格化されることになり、ティーチングデータＰに対して適用しやすい。
【００６２】
第３の方法は、第１の方法又は第２の方法で除外されたティーチングポイントＱ３、Ｑ４及びＱ５をいずれかのグループに付加する方法であり、破線で示す経路上の距離で、いずれかグループ内の端部のティーチングポイントＱφに近い方と同一のグループに属するように設定する。つまり、ティーチングポイントＱ３はグループＧ１１（又はＧ２１）の端部のティーチングポイントＱ２に近いことから、ティーチングポイントＱ１、Ｑ２とともにグループＧ３１として設定する。ティーチングポイントＱ４及びＱ５はグループＧ１２（又はＧ２２）の端部のティーチングポイントＱ６に近いことから、ティーチングポイントＱ６〜Ｑ８とともにグループＧ３２として設定する。ティーチングポイントＱ９については、図示しないさらに左側の作業点に基づくグループとの距離関係によっていずれのグループに属するかが決められる。
【００６３】
第３の方法では、全てのティーチングポイントＱφがいずれかのグループに属することになり、既存データが無駄なく利用される。特に、ティーチングデータＰに対応するドア枠１０４が、既存のドア枠１００又は１０２と類似の形状である場合には、全てのティーチングポイントＱφがグループ化されて利用されることにより、後のデータの修正の必要性やデータ修正の程度が少なくなり、好適である。
【００６４】
第４の方法は、作業点であるティーチングポイントＱ１及びＱ７から、それぞれ近距離の所定数のティーチングポイントを選択する方法である。例えば、ティーチングポイントＱ１から順に近い２つの点であるティーチングポイントＱ２及びＱ３を選択してグループＧ４１を設定するとともに、ティーチングポイントＱ７から順に近い２つの点であるティーチングポイントＱ６、Ｑ５、Ｑ８、Ｑ９を選択してグループＧ４２を設定する。
【００６５】
第４の方法では、作業点に対する動作順が前後のティーチングポイントが少なくとも１つ確保され、新たなワークであるドア枠１０４に対しても、作業点に対する侵入動作及び退避動作が相当正確に行われる。
【００６６】
第５の方法は、作業点におけるエンドエフェクタ２２の進入又は退避方向に対して、進入又は退避方向の角度差が所定範囲内であるものをグループとして設定する方法である。すなわち、図１１に示すように、作業点であるティーチングポイントＱ１におけるＴＣＰの向きをベクトルＸ０、Ｙ０、Ｚ０、他の退避点であるティーチングポイントＱφにおけるＴＣＰの向きをベクトルＸ１、Ｙ１、Ｚ１として表すとき、進入又は退避方向を示すベクトルＸ０とベクトルＸ１とを比較する。具体的には、ティーチングポイントＱφのベクトルＸ１をティーチングポイントＱ１に並行移動するとともに、該ベクトルＸ１をＸ０−Ｙ０平面に投影したベクトルＸ１ｙ、及びＸ０−Ｚ０平面に投影したベクトルＸ１ｚを求める。さらに、ベクトルＸ１ｙとベクトルＸ０とのなす角度θ１、及びベクトルＸ１ｚとベクトルＸ０とのなす角度θ２を求め、それぞれの角度θ１及びθ２が所定角度範囲内であるか否かを確認する。
【００６７】
このようにして、作業点から近い順に、角度θ１及び角度θ２がそれぞれ所定角度範囲内であるティーチングポイントＱφを対応する作業点と同じグループに設定する。角度θ１及び角度θ２のいずれか１つ以上が所定角度範囲外である場合には、グループから除外する。
【００６８】
第５の方法では、進入又は退避方向の角度差が所定範囲内であるものをグループとして設定することから、形状が類似するワークであれば、進入、退避時の干渉の可能性が低く、適用が容易である。
【００６９】
第６の方法は、図１２に示すように、作業点であるティーチングポイントＱ１と退避点であるティーチングポイントＱφとの位置関係上で、進入及び退避する方向（つまり、ベクトルＸ０の方向）と直角な方向（つまりベクトルＹ０）における差Ｙｑを求め、該差Ｙｑが所定範囲β内であるものをグループ化する方法である。
【００７０】
このようにして、作業点から近い順に、差Ｙｑが所定範囲β内であるティーチングポイントＱφを対応する作業点と同じグループに設定する。差Ｙｑが所定角度範囲βから外れる場合には、グループから除外する。
【００７１】
第６の方法では、ベクトルＹの方向の差Ｙｑで制限をすることから、作業点における進入退避方向を示すベクトルＸ０に対して略同方向に設定されている退避点を抽出することができる。これにより、異なるワークであっても、作業点に対する進入、退避時の干渉の可能性が低く、適用が容易である。第６の方法では、ベクトルＸ０の方向の差は考慮していないが、この方向は退避方向であることから距離が長くても進入、退避時に干渉が発生する可能性は低い。
【００７２】
なお、第５の方法及び第６の方法は、第１〜第４の方法で選択したグループに対してさらに絞り込むための要件としてもよい。第５の方法と第６の方法は共通的に適用してもよい。
【００７３】
このような第１〜第６のいずれかの方法又はその組み合わせによる方法により、ティーチングポイントＱφがグループ化され、例えば、前記のグループＧｑ１〜Ｇｑ６及びグループＧｒ１〜Ｇｒ４が設定される。
【００７４】
上述したように、本実施の形態に係るロボットのティーチングデータ作成方法では、ティーチングデータＱ、Ｒから作業点のデータ毎に該作業点に関連性のある退避点のデータを含ませてグループを設定し、新たに作成するティーチングデータＰの作業点Ｐ１〜Ｐ４毎にグループのいずれか１つを選択することにより、退避点が作業点と関連付けられたまま利用される。したがって、作業点毎に退避点を新たに再設定することが減り、既存のティーチングデータＰ、Ｑにおける退避点のデータを有効に利用し、迅速且つ容易にオフラインティーチングを行うことができる。また、退避点を作業点と関連付けたまま利用することにより、その後の変換の程度が小さくて済み、ティーチングデータＱ，Ｒの信頼性、最適性を維持してティーチングデータＰに適用することができ、特に、新たなワークであるドア枠１０４が既存のワークであるドア枠１０２、１０４に対して、形状が近似しているほど高い信頼性、最適性が得られる。
【００７５】
用いる既存のティーチングデータの数は、ティーチングデータＱ、Ｒの２つに限らず、対応するドア枠１０４の形状等に応じて３つ以上でもよいし、１つでもよい。
【００７６】
また、分割工程（ステップＳ２）では、作業点におけるエンドエフェクタ２２の姿勢に対して、姿勢差が所定範囲内である退避点をグループに含ませることにより、作業点と退避点におけるエンドエフェクタの進入、退避方向が略一致に維持され、適切に関連付けられたグループが得られる。
【００７７】
さらに、対応する作業点からの距離が所定範囲γ（又はγｃ）内である退避点をグループに含ませることにより、遠方の退避点は除外され、所定範囲内のまとまりあるグループが得られる。
【００７８】
さらにまた、選択されたグループを、作業点Ｐ１〜Ｐ４に関するデータに基づいて変換する変換工程（ステップＳ８）を有することから、ティーチングデータＱ、ＲをティーチングデータＰに対して一層適切に対応させることができる。
【００７９】
ティーチングデータＰ、Ｑでは退避点におけるロボット１２はドア枠１００、１０２に対して干渉しないこと及びサイクルタイムが要求値以内であること等が確認されていることから、変換工程では、グループ内の作業点及び退避点の相対位置を維持して変換を行うとよい。これにより、変換先のティーチングデータＰによるドア枠１０４に対する作業においても干渉の確率は相当に低くなり、データの補正の手間が軽減する。
【００８０】
上記の処理は、ほとんどがオフラインティーチング装置１１の作用下に自動的に行われることから、オペレータが試行錯誤的に長時間の作業を行う必要がなく、操作方法についても短時間で習熟可能である。
【００８１】
本発明に係る多関節ロボットのティーチングデータ作成方法は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成、工程を採り得ることはもちろんである。
【図面の簡単な説明】
【００８２】
【図１】オフラインティーチング装置のブロック構成図である。
【図２】車両の製造ライン及びロボットシステムの斜視図である。
【図３】オフラインティーチング装置のブロック構成図である。
【図４】各車両のドア枠と対応するティーチングデータを示す模式図である。
【図５】ティーチングデータの内容を示すテーブルである。
【図６】エンドエフェクタ及びＴＣＰの向きを示す斜視図である。
【図７】本実施の形態に係るロボットのティーチングデータの手順を示すフローチャートである。
【図８】グループの回転変換処理を示す模式図である。
【図９】ワークに対して設定された新規のティーチングデータを示す模式図である。
【図１０】作業点及び待避点をグループ化する様子を示す模式図である。
【図１１】作業点におけるエンドエフェクタの進入又は退避方向に対して、進入又は退避方向の角度差が所定範囲内である退避点をグループに含ませる様子を示す模式図である。
【図１２】作業点と待避点との位置関係上で、ベクトルＹ０方向の差所定範囲内である退避点をグループに含ませる様子を示す模式図である。
【符号の説明】
【００８３】
１０…ロボットシステム                １２…ロボット
２２…エンドエフェクタ                ２４…ロボット制御部
１００〜１０４…ドア枠                Ｃ…配列方向
Ｇ１〜Ｇ４、Ｇ１１、Ｇ１２、Ｇ２１、Ｇ２２、Ｇ３１、Ｇ３２、Ｇ４１、Ｇ４２、Ｇｑ１〜Ｇｑ６、Ｇｒ１〜Ｇｒ４…グループ
Ｐ、Ｑ、Ｒ…ティーチングデータ        Ｐ１〜Ｐ４…作業点
Ｐｘ…中継点
Ｑ１〜Ｑ９、Ｑａ〜Ｑｖ、Ｒａ〜Ｒｏ…ティーチングポイント
【図１】
2007144538.tif 000003
【図２】
2007144538.tif 000004
【図３】
2007144538.tif 000005
【図４】
2007144538.tif 000006
【図５】
2007144538.tif 000007
【図６】
2007144538.tif 000008
【図７】
2007144538.tif 000009
【図８】
2007144538.tif 000010
【図９】
2007144538.tif 000011
【図１０】
2007144538.tif 000012
【図１１】
2007144538.tif 000013
【図１２】
2007144538.tif 000014