(57)【要約】【課題】連続する複数の作業点に対してエンドエフェクタによって順次作業を行う際、多関節ロボットをスムーズに動作させて、全体としての動作時間を短縮させるティーチングデータを作成する。【解決手段】複数の作業点に対して、エンドエフェクタの第１の仮姿勢を設定する（ステップＳ３）。複数の作業点のうち一端の第１作業点における多関節ロボットの姿勢を求める（ステップＳ４）。複数の作業点のうち他端の最終作業点における多関節ロボットの姿勢を求める（ステップＳ５）。第１作業点から最終作業点に向かって、エンドエフェクタの姿勢が次第に変化するように、他の各作業点に対して、それぞれエンドエフェクタの第２の仮姿勢を設定する（ステップＳ６）。第１の仮姿勢を第２の仮姿勢で補正する（ステップＳ７）。【選択図】図７
2004358593.tif 000002
【特許請求の範囲】
【請求項１】
エンドエフェクタを備え、連続する複数の作業点に対して前記エンドエフェクタによって順次作業を行う多関節ロボットのティーチングデータ作成方法において、
前記複数の作業点に対して、前記エンドエフェクタの第１の仮姿勢を設定する第１ステップと、
前記複数の作業点のうち一端の第１作業点における前記多関節ロボットの姿勢を求める第２ステップと、
前記複数の作業点のうち他端の最終作業点における前記多関節ロボットの姿勢を求める第３ステップと、
前記第２ステップで求めた前記多関節ロボットのエンドエフェクタの姿勢から、前記第３ステップで求めた前記多関節ロボットのエンドエフェクタの姿勢に次第に変化するように、他の各作業点に対して、それぞれ前記エンドエフェクタの第２の仮姿勢を設定する第４ステップと、
前記第１の仮姿勢を前記第２の仮姿勢で補正して、各作業点における前記エンドエフェクタの姿勢を設定する第５ステップと、
を実行することを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項２】
請求項１記載の多関節ロボットのティーチングデータ作成方法において、
前記第２ステップでは、
前記第１作業点に対して、該第１作業点の前段階の教示点から最短時間で到達するように、前記第１作業点における前記多関節ロボットの姿勢を求めることを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項３】
請求項１又は２記載の多関節ロボットのティーチングデータ作成方法において、
前記第３ステップでは、
前記最終作業点に対して、該最終作業点の後段階の教示点に最短時間で到達するように、前記最終作業点における前記多関節ロボットの姿勢を求めることを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項４】
請求項１〜３のいずれか１項に記載の多関節ロボットのティーチングデータ作成方法において、
前記第４ステップでは、
前記第２ステップ及び前記第３ステップで求めた多関節ロボットのエンドエフェクタの各姿勢の差を求める第１サブステップと、
前記第１作業点から前記最終作業点までの全経路距離に対する各作業点の前記第１作業点からの距離比により、前記第２ステップ及び前記第３ステップで求めた多関節ロボットのエンドエフェクタの各姿勢を按分した、第２の仮姿勢を設定する第２サブステップと、
を実行することを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項５】
請求項１〜３のいずれか１項に記載の多関節ロボットのティーチングデータ作成方法において、
前記第４ステップでは、
前記第２ステップ及び前記第３ステップで求めた多関節ロボットの各姿勢の差を求める第１サブステップと、
前記第１作業点から前記最終作業点までの全経路距離に対する各作業点の前記第１作業点からの距離比により、前記第２ステップ及び前記第３ステップで求めた多関節ロボットの各姿勢を按分した按分姿勢を求める第２サブステップと、
該按分姿勢における前記エンドエフェクタの姿勢を第２の仮姿勢として求める第３サブステップと、
を実行することを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項６】
請求項１〜３のいずれか１項に記載の多関節ロボットのティーチングデータ作成方法において、
前記第４ステップでは、
前記第１作業点及び前記最終作業点における前記エンドエフェクタの姿勢が前記第１ステップ及び前記第２ステップで求めた姿勢となることを条件として、前記エンドエフェクタを前記第１作業点から前記最終作業点まで模擬的に移動させながら、所定時間毎に前記エンドエフェクタの姿勢を記録する第１サブステップと、
前記第１作業点から前記最終作業点までの全経路距離に対する各作業点の前記第１作業点からの距離比に基づいて、前記第１サブステップで記録した前記エンドエフェクタの姿勢のうち、移動時間の比が対応する姿勢を第２の仮姿勢として選択する第２サブステップと、
を実行することを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項７】
請求項６記載の多関節ロボットのティーチングデータ作成方法において、
前記第１サブステップで前記エンドエフェクタを模擬的に移動させる際、前記第１作業点から前記最終作業点までの移動時間が最短となるように移動させることを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項８】
請求項６記載の多関節ロボットのティーチングデータ作成方法において、
前記第１サブステップで前記エンドエフェクタを模擬的に移動させる際、前記第１作業点から前記最終作業点まで、前記エンドエフェクタを直線状に移動させることを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項９】
請求項１〜８のいずれか１項に記載の多関節ロボットのティーチングデータ作成方法において、
前記第５ステップでは、前記第１の仮姿勢を構成する複数のパラメータのうち、少なくとも１つを前記第２の仮姿勢のパラメータで置き換えることを特徴とする多関節ロボットのティーチングデータ作成方法。
【請求項１０】
請求項１〜９のいずれか１項に記載の多関節ロボットのティーチングデータ作成方法において、
前記第１ステップでは、前記第１の仮姿勢を前記エンドエフェクタの作業部がワークに対して面直となるように設定し、
前記第５ステップでは、前記作業部が前記ワークに対して面直な状態を保つように前記第１の仮姿勢を補正することを特徴とする多関節ロボットのティーチングデータ作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エンドエフェクタを備え、連続する複数の作業点に対して前記エンドエフェクタによって順次作業を行う多関節ロボットのティーチングデータ作成方法に関し、特に、多関節ロボットをスムーズに動作させて動作時間を短縮させる多関節ロボットのティーチングデータ作成方法に関する。
【０００２】
【従来の技術】
従来、製造ラインに設置された多関節ロボットを直接操作させて作業姿勢のティーチングを行おうとすると、多関節ロボットの操作を熟知したオペレータが製造ラインの現場で作業を行わなければならないため、その分、作業が非効率的となってしまう。また、このような作業は、製造ラインを停止させた状態で行う必要があるため、当該製造ラインの稼働率も低下してしまう。
【０００３】
そこで、近時、ティーチング作業の効率化を図るため、あるいは、前記製造ラインの稼働率を向上させるために、オフラインによるティーチング（オフラインティーチング）が行われている。すなわち、コンピュータ上に多関節ロボット並びに作業対象物であるワーク及び周辺構造物のモデルを構築し、このモデルを用いてティーチングデータを作成した後、前記ティーチングデータを現場の多関節ロボットに供給することにより、製造ラインを停止させることなく、ティーチングデータを効率的に作成することが可能となる。
【０００４】
また、製造ラインでは、生産性の向上が要求されており、この要求に応じるためには、多関節ロボットによるサイクルタイムの短縮が検討されなければならない。このような背景から、作業順の各作業点での多関節ロボットの姿勢を計算し、短い移動時間で、しかもエンドエフェクタの姿勢偏差が小さくなるように多関節ロボットの姿勢を選択した後、逆作業方向による最終作業点での多関節ロボットの姿勢を計算し、この多関節ロボットの姿勢を作業順方向に求めた最終作業点の多関節ロボットの姿勢と比較して修正する技術が提案されている（例えば、特許文献１参照）。この技術では、多関節ロボットによる作業のサイクルタイムを短縮して、生産性を向上させることができて好適である。
【０００５】
また、多関節ロボットのティーチングデータを作成する際に、ワークに対するエンドエフェクタの挿入経路や姿勢を自動的に設定する方法が提案されている（例えば、特許文献２、特許文献３参照）。
【０００６】
【特許文献１】
特開２００３−９４３６３号公報
【特許文献２】
特開２００２−２３９９５５号公報
【特許文献３】
特開２００２−２３９９５７号公報
【０００７】
【発明が解決しようとする課題】
ところで、上記の特許文献１で開示されている方法では、エンドエフェクタの姿勢偏差を小さくすることを主な目的としてティーチングデータを設定しているため、エンドエフェクタの作業点間の動作経路の滑らかさが損なわれることがある。また、連続する複数の作業点に対してエンドエフェクタによって順次作業を行う際、エンドエフェクタを最初の作業点に進入させるための時間と、最後の作業点から抜き取るための時間については十分に考慮されていない。その結果、全体としてのサイクルタイムが伸びてしまうことがあり、オペレータが試行錯誤的に再度修正を行う場合がある。
【０００８】
本発明は、上記の問題を考慮してなされたものであり、連続する複数の作業点に対してエンドエフェクタによって順次作業を行う際、多関節ロボットをスムーズに動作させて、全体としての動作時間を短縮させることを可能にする多関節ロボットのティーチングデータ作成方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明に係る多関節ロボットのティーチングデータ作成方法は、エンドエフェクタを備え、連続する複数の作業点に対して前記エンドエフェクタによって順次作業を行う多関節ロボットのティーチングデータ作成方法において、前記複数の作業点に対して、前記エンドエフェクタの第１の仮姿勢を設定する第１ステップと、前記複数の作業点のうち一端の第１作業点における前記多関節ロボットの姿勢を求める第２ステップと、前記複数の作業点のうち他端の最終作業点における前記多関節ロボットの姿勢を求める第３ステップと、前記第２ステップで求めた前記多関節ロボットのエンドエフェクタの姿勢から、前記第３ステップで求めた前記多関節ロボットのエンドエフェクタの姿勢に次第に変化するように、他の各作業点に対して、それぞれ前記エンドエフェクタの第２の仮姿勢を設定する第４ステップと、前記第１の仮姿勢を前記第２の仮姿勢で補正して、各作業点における前記エンドエフェクタの姿勢を設定する第５ステップと、を実行することを特徴とする。
【００１０】
このようにすることにより、連続する複数の作業点に対してエンドエフェクタによって順次作業を行う際、多関節ロボットをスムーズに動作させて、動作時間を短縮させることができる。
【００１１】
この場合、前記第２ステップでは、前記第１作業点に対して、該第１作業点の前段階の教示点から最短時間で到達するように、前記第１作業点における前記多関節ロボットの姿勢を求めるとよい。
【００１２】
これにより、エンドエフェクタは、第１作業点に速やかに移動することができ、作業開始前の移動時間も含めた動作を短時間で行うことができる。
【００１３】
また、前記第３ステップでは、前記最終作業点に対して、該最終作業点の後段階の教示点に最短時間で到達するように、前記最終作業点における前記多関節ロボットの姿勢を求めるとよい。
【００１４】
これにより、最終作業点での作業終了後、エンドエフェクタは、その場から速やかに待避することができ、作業終了後の移動時間も含めた動作を短時間で行うことができる。
【００１５】
また、前記第４ステップでは、前記第２ステップ及び前記第３ステップで求めた多関節ロボットのエンドエフェクタの各姿勢の差を求める第１サブステップと、前記第１作業点から前記最終作業点までの全経路距離に対する各作業点の前記第１作業点からの距離比（距離配分比）により、前記第２ステップ及び前記第３ステップで求めた多関節ロボットのエンドエフェクタの各姿勢を按分（配分）した、第２の仮姿勢を設定する第２サブステップと、を実行するようにしてもよい。
【００１６】
さらに、前記第４ステップでは、前記第２ステップ及び前記第３ステップで求めた多関節ロボットの各姿勢の差を求める第１サブステップと、前記第１作業点から前記最終作業点までの全経路距離に対する各作業点の前記第１作業点からの距離比により、前記第２ステップ及び前記第３ステップで求めた多関節ロボットの各姿勢を按分した按分姿勢を求める第２サブステップと、該按分姿勢における前記エンドエフェクタの姿勢を第２の仮姿勢として求める第３サブステップと、を実行するようにしてもよい。
【００１７】
さらにまた、前記第４ステップでは、前記第１作業点及び前記最終作業点における前記エンドエフェクタの姿勢が前記第１ステップ及び前記第２ステップで求めた姿勢となることを条件として、前記エンドエフェクタを前記第１作業点から前記最終作業点まで模擬的に移動させながら、所定時間毎に前記エンドエフェクタの姿勢を記録する第１サブステップと、前記第１作業点から前記最終作業点までの全経路距離に対する各作業点の前記第１作業点からの距離比に基づいて、前記第１サブステップで記録した前記エンドエフェクタの姿勢のうち、移動時間の比が対応する姿勢を第２の仮姿勢として選択する第２サブステップと、を実行するようにしてもよい。
【００１８】
前記第１サブステップで前記エンドエフェクタを模擬的に移動させる際、前記第１作業点から前記最終作業点までの移動時間が最短となるように移動させるようにしてもよい。
【００１９】
前記第１サブステップで前記エンドエフェクタを模擬的に移動させる際、前記第１作業点から前記最終作業点まで、前記エンドエフェクタを直線状に移動させるようにしてもよい。
【００２０】
このように、移動時間が最短となるように、または、直線状となるように仮移動させてデータを記録し、第２の仮姿勢を求めることにより、結果として、第１作業点から最終作業点へのエンドエフェクタの移動を滑らかにすることができる。
【００２１】
前記第５ステップでは、前記第１の仮姿勢を構成する複数のパラメータのうち、少なくとも１つを前記第２の仮姿勢のパラメータで置き換えるようにしてもよい。
【００２２】
前記第１ステップでは、前記第１の仮姿勢を前記エンドエフェクタの作業部がワークに対して面直となるように設定し、前記第５ステップでは、前記作業部が前記ワークに対して面直な状態を保つように前記第１の仮姿勢を補正してもよい。
【００２３】
【発明の実施の形態】
図１は、本発明の多関節ロボット１２のティーチングデータ作成方法が適用される実施形態であるオフラインティーチング装置１０と、このオフラインティーチング装置１０によって作成されたティーチングデータが適用される多関節ロボット１２との概略構成を示す。
【００２４】
多関節ロボット１２は、ベース１４に対して複数の軸Ｊ１〜Ｊ６によって回動自在なリンク１６、１８及び２０を介して連結される溶接ガン等のエンドエフェクタ２２を備え、ロボット制御部２４に設定されたティーチングデータに従って動作する。なお、多関節ロボット１２及びロボット制御部２４は、現場の製造ラインに配設される。
【００２５】
図２に示すように、リンク２０の先端に接続されたエンドエフェクタ２２はいわゆるＣ型溶接ガンであり、ヨーク２２ａの両端部には、開閉する一対の電極（作業部）２２ｂ、２２ｃを有する。この電極２２ｂ、２２ｃは閉状態では溶接作業点（以下、ＴＣＰ（Ｔｏｏｌ  Ｃｅｎｔｅｒ  Ｐｏｉｎｔ）という。）でワークＷに接触する。
【００２６】
ＴＣＰから本体側の電極２２ｂ、２２ｃの軸心に一致する方向をベクトルＺｒとし、ベクトルＺｒに直交しエンドエフェクタ２２の外側に向く方向をベクトルＸｒとする。また、ベクトルＸｒ、ベクトルＺｒに互いに直交する方向をベクトルＹｒとする。
【００２７】
例えば、電極２２ｂ、２２ｃがワークＷに対して面直に設定されているときに、ベクトルＺｒの値のみを変更すると、エンドエフェクタ２２の姿勢は、図２における二点鎖線で示すように、ワークＷに対する面直な状態を保ったままヨーク２２ａを回転させた位置に移る。
【００２８】
ＴＣＰの位置は、所定の原点Ｏからの絶対座標として、座標値Ｘ、Ｙ、Ｚの３つのパラメータで表される。
【００２９】
軸Ｊ１〜Ｊ６の駆動機構並びに電極２２ｂ、２２ｃの開閉機構は、それぞれ図示しないアクチュエータにより駆動され、ＴＣＰは軸Ｊ１〜Ｊ６のそれぞれの回転角θ１〜θ６の値及び多関節ロボット１２の各部寸法により決定される。
【００３０】
オフラインティーチング装置１０は、コンピュータによって構成されるものであり、図３に示すように、制御部２６は、オフラインティーチング装置１０の全体の制御を行うＣＰＵ２８と、記録部であるＲＯＭ３０及びＲＡＭ３２と、ハードディスクドライブ３４によってデータが読み書きされるハードディスク３６と、フレキシブルディスクやコンパクトディスク等の外部記録媒体３８に対してティーチングデータ等の読み書きを行う記録媒体ドライブ４０と、多関節ロボット１２のティーチングデータを作成するティーチングデータ作成回路４２と、作成されたティーチングデータに基づいて多関節ロボット１２の動作シミュレーションを行うシミュレーション回路４４とを備える。なお、制御部２６には、ティーチングデータ作成作業の補助、シミュレーション画像の表示等を行うためのディスプレイ４６が描画制御回路４８を介して接続されるとともに、インタフェース５０を介して入力装置としてのキーボード５２及びマウス５４が接続される。
【００３１】
ハードディスク３６には、多関節ロボット１２のティーチングデータを作成するためのティーチングデータ作成プログラム５６と、多関節ロボット１２、作業対象物及びその他の設備に係る形状データ５８と、多関節ロボット１２の各軸の動作仕様を含むロボット仕様データ６０とが記録されている。
【００３２】
図４に示すように、ティーチングデータ作成回路４２は、多関節ロボット１２の動作計画を設定するロボット動作計画部４２ａと、多関節ロボット１２を模擬的に動作させて、その間の多関節ロボット１２の姿勢やエンドエフェクタ２２の姿勢等を記録するロボット姿勢サンプリング記録部４２ｂと、多関節ロボット１２が作業を行う各作業点Ｐ１、Ｐ２、…Ｐｅ（図５参照）の距離配分比を求める移動量距離配分計算部４２ｃとを有する。また、ティーチングデータ作成回路４２は、所定の経路を移動する際の移動時間を求めるロボット移動時間計算部４２ｄと、多関節ロボット１２の姿勢を教示するロボット姿勢教示部４２ｅと、ティーチングデータを記録するロボット教示データ記録部４２ｆとを有する。
【００３３】
多関節ロボット１２は、図５に示す作業点Ｐ１、Ｐ２、…Ｐｅに対して順番に作業を行うものとする。これらの作業点Ｐ１、Ｐ２、…Ｐｅは、ＴＣＰの位置を表し、直線状または曲線状に順に配置されている。このうち、一端の作業点Ｐ１は、最初に作業を行う点であり、第１作業点とも呼ぶ。他端の作業点Ｐｅは、最後に作業を行う点であり、最終作業点とも呼ぶ。また、多関節ロボット１２は、作業開始前及び作業終了後は、作業原点Ｐ０に配置されるものとする。
【００３４】
多関節ロボット１２のティーチングデータは、作業点Ｐ１、Ｐ２、…Ｐｅにおける多関節ロボット１２の姿勢及びエンドエフェクタ２２の姿勢が記録されたパステーブル１００（図６参照）に基づいて作成される。パステーブル１００は、書き換え可能なテーブルであり、ＲＡＭ３２等の記録部に記録されている。
【００３５】
図６に示すように、パステーブル１００は、ツール座標データを示す「ＴＣＰの位置」欄、「エンドエフェクタの向き」欄及び「各軸角度」欄から構成されている。「ＴＣＰの位置」欄には、エンドエフェクタ２２の絶対座標を示すデータ、つまり、Ｘ、Ｙ、Ｚ値が記録されている。「エンドエフェクタの向き」欄は、エンドエフェクタ２２の姿勢を示す座標のベクトルＸｒ、Ｙｒ、Ｚｒが記録されている。以下、ツール座標データは、６つのパラメータで表されるものとし、Ｘ、Ｙ、Ｘｒ、Ｙｒ及びＺｒに相当する値の順に表記する。
【００３６】
「各軸角度」欄は回転角θ１〜θ６から構成されており、それぞれの回転角θ１〜θ６は、各軸Ｊ１〜Ｊ６の回転角を示している。
【００３７】
次に、このように構成されるオフラインティーチング装置１０を用いて、多関節ロボット１２のティーチングデータを作成する第１の方法について図７〜図１１を参照しながら説明する。
【００３８】
この第１の方法及び後述する第２、第３の方法は、基本的に、ＣＰＵ２８及びティーチングデータ作成回路４２（図３参照）がティーチングデータ作成プログラム５６に基づいて実行されるものであるが、一部をオペレータが直接実行してもよい。
【００３９】
また、多関節ロボット１２の動きは、シミュレーション回路４４等の機能による仮想的なものであって、実際に多関節ロボット１２を動作させる必要はない。
【００４０】
図７に示すように、多関節ロボット１２のティーチングデータを作成する第１の方法では、先ず、ステップＳ１において、ハードディスク３６からティーチングデータ作成プログラム５６を読み込み、ティーチングデータ作成回路４２にロードする。次いで、多関節ロボット１２、作業対象物及びその他の設備に係る形状データ５８と、ロボット仕様データ６０である多関節ロボット１２に関する所定のデータをハードディスク３６から読み込む。
【００４１】
次に、ステップＳ２において、エンドエフェクタ２２を作業原点Ｐ０に配置したときの初期姿勢である多関節ロボット１２のロボット姿勢を設定する。この初期姿勢は、近傍の他の多関節ロボット１２の配置を考慮して設定される。
【００４２】
次に、ステップＳ３において、エンドエフェクタ２２の各作業点Ｐ１、Ｐ２、…Ｐｅの位置と、そのツール姿勢を第１の仮姿勢として設定する。この第１の仮姿勢は、エンドエフェクタ２２がＣ型溶接ガンである場合、通常、ワークＷの面に対して電極２２ｂ、２２ｃが面直となるように設定する。
【００４３】
第１の仮姿勢として設定されるエンドエフェクタ２２の姿勢は、具体的には、図６のパステーブル１００における「エンドエフェクタの向き」欄のデータであるベクトルＸｒ、Ｙｒ、Ｚｒと、「ＴＣＰの位置」欄のデータである座標値Ｘ、Ｙ、Ｚである。パステーブル１００における「各軸角度」欄のデータは、この時点では空欄でよい。
【００４４】
次に、ステップＳ４において、ティーチングデータ作成回路４２によって進入方向決定テンプレート機能を実行する。この進入方向決定テンプレート機能では、第１作業点Ｐ１の前段階の教示点（つまり、作業原点Ｐ０）から第１作業点Ｐ１に最短時間で到達するように、第１作業点Ｐ１における多関節ロボット１２の姿勢を求める。
【００４５】
次に、ステップＳ５において、ティーチングデータ作成回路４２によって戻り方向決定テンプレート機能を実行する。この戻り方向決定テンプレート機能では、最終作業点Ｐｅから、該最終作業点Ｐｅの後段階の教示点（つまり、作業原点Ｐ０）に対して最短時間で到達するように、最終作業点Ｐｅにおける多関節ロボット１２の姿勢を求める。
【００４６】
次に、ステップＳ６において、ティーチングデータ作成回路４２は、進入方向決定テンプレート機能及び戻り方向決定テンプレート機能によって求めた多関節ロボット１２の各姿勢に基づいて、第１作業点Ｐ１及び最終作業点Ｐｅを除く他の作業点に対してエンドエフェクタ２２の第２の仮姿勢を設定する。この第２の仮姿勢は、第１作業点Ｐ１から最終作業点Ｐｅへ移動する間に、エンドエフェクタ２２が滑らかに移動可能な姿勢として設定する。
【００４７】
なお、ステップＳ４、Ｓ５及びＳ６の処理はそれぞれサブルーチンとして処理されるものであり、これらのサブルーチンの処理については後述する（図９、１０、１１参照）。
【００４８】
次に、ステップＳ７において、第１の仮姿勢を第２の仮姿勢で補正して、各作業点における前記エンドエフェクタ２２の姿勢を設定する。
【００４９】
このステップＳ７の処理は、概略的に、第１の仮姿勢で示されるエンドエフェクタ２２の姿勢が図８Ａに示すようにワークＷに対して面直な状態であって、第２の仮姿勢で示されるエンドエフェクタ２２の姿勢が図８Ｂに示すようにワークＷに対して非面直で、かつ、ワークＷから見て第１の仮姿勢とは異なる向きであるとき、ステップＳ７における補正は、図８Ｃに示すように、ワークＷに対する面直な状態を保ったまま、ワークＷから見て第２の仮姿勢と同じ向きとなるように行えばよい。また、具体的には、パステーブル１００における「エンドエフェクタの向き」欄のＸｒ、Ｙｒ、Ｚｒに相当する第１の仮姿勢及び第２の仮姿勢のデータがそれぞれ、Ｘｒａ、Ｙｒａ、Ｚｒａ、及びＸｒｂ、Ｙｒｂ、Ｚｒｂで表されるとき、第１の仮姿勢のデータのうちＺｒａを第２の仮姿勢のデータのＺｒｂで置き換えればよい。より具体的には、後述する処理によってＺｒｂに相当するデータが、各処理対象作業点毎に補正用データＤ［ｊ］として設定されることから、Ｚｒ←Ｄ［ｊ］として代入すればよい。
【００５０】
このような補正により、エンドエフェクタ２２の電極２２ｂ、２２ｃの向きが、ワークＷに対する面直な状態を保ったまま、電極２２ｂ、２２ｃを中心として回転し、ワークＷから見て第２の仮姿勢と同じ向きに設定される。
【００５１】
次に、前記ステップＳ４において実行される進入方向決定テンプレート機能について、図９を参照しながら詳細に説明する。
【００５２】
ステップＳ１０１において、最初の作業点である第１作業点Ｐ１のツール座標データをパステーブル１００（図６）から認識し、このツール座標データをＬｏｃ１とする。
【００５３】
次に、ステップＳ１０２において、第１作業点Ｐ１の前段階の教示点を選択し、この点におけるツール座標データをＬｏｃ２とする。以下の例では、このＬｏｃ２を作業原点Ｐ０とする。
【００５４】
次に、ステップＳ１０３において、多関節ロボット１２をＬｏｃ２で示される位置に移動させる。
【００５５】
次に、ステップＳ１０４において、多関節ロボット１２がＬｏｃ２からＬｏｃ１へ移動できるか否かを確認する。移動が可能である場合には次のステップＳ１０５へ移り、不可能であると判断される場合にはステップＳ１１０へ移る。
【００５６】
ステップＳ１０５においては、多関節ロボット１２がＬｏｃ２からＬｏｃ１へ移動するために要する移動時間Ｔｍを求める。
【００５７】
次に、ステップＳ１０６において、バッファ時間Ｔｂが更新済みであるか否かを確認する。バッファ時間Ｔｂは、初期状態で「０」に設定される変数であり、Ｔｂ＝０、であれば未更新であってステップＳ１０８へ移り、Ｔｂ≠０、であれば更新済みであってステップＳ１０７へ移る。
【００５８】
ステップＳ１０７においては、バッファ時間Ｔｂと、その時点における移動時間Ｔｍとを比較する。Ｔｂ＞ＴｍであるときにはステップＳ１０８へ移り、Ｔｂ≦ＴｍであるときにはステップＳ１１０へ移る。
【００５９】
ステップＳ１０８においては、バッファ時間Ｔｂを移動時間Ｔｍで置き換えて更新する。
【００６０】
次に、ステップＳ１０９においては、その時点におけるツール座標データＬｏｃ１と、多関節ロボット１２の姿勢をＰｏｓｅ１として記録する。Ｐｏｓｅ１及び後述するＰｏｓｅ３等は、θ１〜θ６（図６参照）の６つのパラメータで表される。
【００６１】
このように、バッファ時間Ｔｂと移動時間Ｔｍとを比較して、移動時間Ｔｍがバッファ時間Ｔｂより小さいときには、バッファ時間Ｔｂを更新することにより、バッファ時間Ｔｂには最短の移動時間が設定される。また、そのときの多関節ロボット１２の姿勢がＰｏｓｅ１として記録される。
【００６２】
次に、ステップＳ１１０において、Ｌｏｃ２からＬｏｃ１に対して、他に到達可能な多関節ロボット１２の姿勢があるか否かを検索する。他にも到達可能な姿勢がある場合には、その姿勢を示すツール座標データをＬｏｃ１として設定した後にステップＳ１０３に戻る。他には到達可能な姿勢がない場合には、次のステップＳ１１１へ移る。
【００６３】
ステップＳ１１１においては、第１作業点Ｐ１において、電極２２ｂをワークＷに対して面直に保った姿勢でエンドエフェクタ２２を回転させる処理についての判断を行う。エンドエフェクタ２２が所定の姿勢から３６０°回転済みである場合にはステップＳ１１３へ移り、回転角度が３６０°未満であるときにはステップＳ１１２へ移る。
【００６４】
このステップＳ１１１の処理は、例えば、前記特許文献３で開示されている動作範囲表に基づいて、ワークとの干渉領域を考慮しながら行うとよい。
【００６５】
ステップＳ１１２においては、電極２２ｂをワークＷに対して面直に保ったままエンドエフェクタ２２を所定の微小角度回転させたツール座標データをＬｏｃ１として再設定し、ステップＳ１０３へ戻って処理を続行する。エンドエフェクタ２２を回転させる処理は、具体的には、ツール座標データのＬｏｃ１のうち、ベクトルＺｒのデータを所定量変更すればよい（図２参照）。
【００６６】
ステップＳ１１３においては、前記ステップＳ１０９で記録したツール座標データのＬｏｃ１と多関節ロボット１２の姿勢Ｐｏｓｅ１を第１作業点Ｐ１における正式な姿勢として記録する。この時点で正式に決定されるツール座標データＬｏｃ１は、６つのパラメータｘ１、ｙ１、ｚ１、ｒｘ１、ｒｙ１、ｒｚ１で表されるものとする。
【００６７】
このように進入方向決定テンプレート機能を実行することによって、作業原点Ｐ０から第１作業点Ｐ１に対する最短時間の進入経路と、第１作業点Ｐ１における多関節ロボット１２の姿勢及びエンドエフェクタ２２の姿勢を取得することができる。進入方向決定テンプレート機能により取得した第１作業点Ｐ１におけるエンドエフェクタ２２の姿勢は、図５においてベクトルＶ１で示す。
【００６８】
次に、前記ステップＳ５において実行される戻り方向決定テンプレート機能は、図１０に示す手順で行われる。この戻り方向決定テンプレート機能は、最終作業点である作業点Ｐｅから、後段階の教示点に対して最短時間で到達するように、作業点Ｐｅにおける多関節ロボット１２の姿勢を求める処理であり、後段階の教示点としては、作業原点Ｐ０が選択される。この戻り方向決定テンプレート機能は、進入方向決定テンプレート機能における第１作業点Ｐ１を最終作業点Ｐｅに置き換えるとともに、動作方向を逆にした処理であり、その他の基本的な処理は進入方向決定テンプレート機能と同じであることから、戻り方向決定テンプレート機能の詳細な説明を省略する。この戻り方向決定テンプレート機能によって、最終作業点Ｐｅにおける多関節ロボット１２の姿勢Ｐｏｓｅ３と、エンドエフェクタ２２のツール座標データのＬｏｃ３（ｘ３、ｙ３、ｚ３、ｒｘ３、ｒｙ３、ｒｚ３）が決定される。また、最終作業点Ｐｅから作業原点Ｐ０に対する最短時間の戻り経路を取得することができる。戻り方向決定テンプレート機能で取得した最終作業点Ｐｅにおけるエンドエフェクタ２２の姿勢は、図５においてベクトルＶｅで示す。
【００６９】
なお、進入方向決定テンプレート機能及び戻り方向決定テンプレート機能では、前記特許文献２及び３で開示されている技術を利用してもよい。
【００７０】
次に、前記ステップＳ６において、エンドエフェクタ２２の第２の仮姿勢を設定する処理について、図１１を参照しながら説明する。
【００７１】
先ず、ステップＳ３０１において、パステーブル１００を所定の記録部にロードする。
【００７２】
次に、ステップＳ３０２において、前記ステップＳ４において実行した進入方向決定テンプレート機能の処理結果であるツール座標データのＬｏｃ１（ｘ１、ｙ１、ｚ１、ｒｘ１、ｒｙ１、ｒｚ１）と、多関節ロボット１２の姿勢Ｐｏｓｅ１をロードする。
【００７３】
次に、ステップＳ３０３において、前記ステップＳ５において実行した戻り方向決定テンプレート機能の処理結果であるツール座標データのＬｏｃ３（ｘ３、ｙ３、ｚ３、ｒｘ３、ｒｙ３、ｒｚ３）と、多関節ロボット１２の姿勢Ｐｏｓｅ３をロードする。
【００７４】
次に、ステップＳ３０４において、パステーブル１００に基づいて作業点Ｐ１、Ｐ２、Ｐ３、…Ｐｅのツール座標データを取得する。また、作業点Ｐ１、Ｐ２、Ｐ３、…Ｐｅのうち、第１作業点Ｐ１及び最終作業点Ｐｅを除く処理対象作業点（つまり、Ｐ２、Ｐ３、Ｐ４、…）の個数を変数ｎに記録するとともに、所定のカウンタｊを用い、処理対象作業点のツール座標データをそれぞれ順番にｌｏｃ＿ｌｉｓｔ［ｊ］として記録する。取得したｌｏｃ＿ｌｉｓｔ［ｊ］は、６つのパラメータｘ［ｊ］、ｙ［ｊ］、ｚ［ｊ］、ｒｘ［ｊ］、ｒｙ［ｊ］、ｒｚ［ｊ］として表される。このうち、ｘ［ｊ］、ｙ［ｊ］及びｚ［ｊ］はＴＣＰの絶対座標を示し、ｒｘ［ｊ］、ｒｙ［ｊ］及びｒｚ［ｊ］はエンドエフェクタ２２の向きを示す。
【００７５】
次に、ステップＳ３０５において、各作業点Ｐ１〜Ｐｅ間におけるそれぞれの距離をｄｄ＿ｄｉｓｔ［ｊ］（ｊ＝１、２、…（ｎ＋１））として表し、これらの（ｎ＋１）個のｄｄ＿ｄｉｓｔ［ｊ］を全て加算した全経路距離ｄｉｓｔを求める。このようにすることにより、各作業点Ｐ１〜Ｐｅが曲線状に配置されている場合でも作業点間に沿った全経路距離ｄｉｓｔを正しく求めることができる。
【００７６】
次に、ステップＳ３０６において、エンドエフェクタ２２がＬｏｃ１からＬｏｃ３に移動する際のツール座標データの変化量ＬｏｃΔ＝（ｄｘ、ｄｙ、ｄｚ、ｄｒｘ、ｄｒｙ、ｄｒｚ）を求める。この変化量ＬｏｃΔは、ＬｏｃΔ←Ｌｏｃ３−Ｌｏｃ１として求められる。
【００７７】
以下、ステップＳ３０７〜Ｓ３１０においては、カウンタｊを１からｎまでインクリメントしながら処理対象作業点ｌｏｃ＿ｌｉｓｔ［ｊ］について順次、第２の仮姿勢を求める。
【００７８】
ステップＳ３０７において、ｌｏｃ＿ｌｉｓｔ［ｊ］とＬｏｃ１との距離ｄ＿ｄｉｓｔ［ｊ］を、ｄ＿ｄｉｓｔ［ｊ］←ｄｄ＿ｄｉｓｔ［１］＋ｄｄ＿ｄｉｓｔ［２］＋…＋ｄｄ＿ｄｉｓｔ［ｊ］として求める（図５参照）。
【００７９】
次に、ステップＳ３０８において、全経路距離ｄｉｓｔに対する距離ｄ＿ｄｉｓｔ［ｊ］の距離比ｒａｔ＿ｄｉｓｔ［ｊ］を、ｄ＿ｄｉｓｔ［ｊ］／ｄｉｓｔとして求める。この距離比ｒａｔ＿ｄｉｓｔ［ｊ］は、作業点Ｐ１〜Ｐｅが曲線状に配列されている場合においても、曲線の長さの比を正確に表すことができる。
【００８０】
次に、ステップＳ３０９において、Ｌｏｃ１とＬｏｃ３とをｒａｔ＿ｄｉｓｔ［ｊ］で按分したエンドエフェクタ２２の第２の仮姿勢を求める。この第２の仮姿勢は、ツール座標データを示す６つのパラメータｄｄｘ［ｊ］、ｄｄｙ［ｊ］、ｄｄｚ［ｊ］、ｄｄｒｘ［ｊ］、ｄｄｒｙ［ｊ］及びｄｄｒｚ［ｊ］で表され、
ｄｄｘ［ｊ］←ｘ１＋ｄｘ×ｒａｔ＿ｄｉｓｔ［ｊ］
ｄｄｙ［ｊ］←ｙ１＋ｄｙ×ｒａｔ＿ｄｉｓｔ［ｊ］
ｄｄｚ［ｊ］←ｚ１＋ｄｚ×ｒａｔ＿ｄｉｓｔ［ｊ］
ｄｄｒｘ［ｊ］←ｒｘ１＋ｄｒｘ×ｒａｔ＿ｄｉｓｔ［ｊ］
ｄｄｒｙ［ｊ］←ｒｙ１＋ｄｒｙ×ｒａｔ＿ｄｉｓｔ［ｊ］
ｄｄｒｚ［ｊ］←ｒｚ１＋ｄｒｚ×ｒａｔ＿ｄｉｓｔ［ｊ］
として求められる。
【００８１】
これらの６つのパラメータで表される第２の仮姿勢を、図５において、ベクトルＶａ１、Ｖａ２、…Ｖａ（ｎ）として示す。これらのベクトルＶａ１、Ｖａ２、…Ｖａ（ｎ）は、距離比ｒａｔ＿ｄｉｓｔ［ｊ］に応じ、ベクトルＶ１からベクトルＶｅまで次第に変化するように設定されることとなる。
【００８２】
次に、ステップＳ３１０において、第１の仮姿勢を補正するための補正用データＤ［ｊ］としてｄｄｒｚ［ｊ］を選択、代入する。
【００８３】
ｄｄｘ［ｊ］、ｄｄｙ［ｊ］、ｄｄｚ［ｊ］、ｄｄｒｘ［ｊ］及びｄｄｒｙ［ｊ］は、参考データとして記録しておく。
【００８４】
次に、ステップＳ３１１において、全ての処理対象作業点について補正用データＤ［ｊ］を設定したか否かを確認する。未処理の処理対象作業点があれば、カウンタｊを「＋１」インクリメントした後にステップＳ３０７へ戻り、処理を続行する。全ての処理対象作業点に対して処理が終了している場合には、図１１に示すサブルーチンの処理を終了し、前記ステップＳ７（図７参照）へ移る。
【００８５】
前記のとおり、ステップＳ７では、第１の仮姿勢のうちデータＺｒの値を補正用データＤ［ｊ］で置き換えて、各処理対象作業点でのエンドエフェクタ２２のツール座標データが求められ、パステーブル１００（図６参照）の所定の欄に記録する。また、このツール座標データに基づいて、行列式を用いた逆変換操作等によって多関節ロボット１２の姿勢、つまりθ１〜θ６を求めることができ、このデータをパステーブル１００の「各軸角度」欄に記録する。
【００８６】
これにより多関節ロボット１２のティーチングデータが作成され、ティーチングデータをハードディスク３６に記録した後、シミュレーション回路４４によって動作確認され、記録媒体ドライブ４０を介して外部記録媒体３８に記録される。次いで、外部記録媒体３８に記録されたティーチングデータは、ロボット制御部２４にダウンロードされ、多関節ロボット１２の制御に供される。
【００８７】
このように、多関節ロボット１２のティーチングデータを作成する第１の方法によれば、第１作業点Ｐ１と最終作業点Ｐｅとの間の、各処理対象作業点におけるエンドエフェクタ２２のツール座標データを、ベクトルＶ１、Ｖｅ及び各作業点間の距離比ｒａｔ＿ｄｉｓｔ［ｊ］に基づいて作成するので、作業点Ｐ１〜Ｐｅまでエンドエフェクタ２２の姿勢が次第に変化するものとなり、作業点Ｐ１〜Ｐｅ間の移動を滑らかに、かつ、短時間で行うことができる。
【００８８】
また、第１作業点Ｐ１におけるエンドエフェクタ２２の姿勢を示すツール座標データのＬｏｃ１は、進入方向決定テンプレート機能によって、前の教示点（つまり作業原点Ｐ０）から最短時間で移動可能な姿勢として設定されている。従って、作業開始時、エンドエフェクタ２２は、第１作業点Ｐ１に速やかに移動することができ、作業開始前の移動時間も含めた動作を短時間で行うことができる。
【００８９】
さらに、最終作業点Ｐｅにおけるエンドエフェクタ２２の姿勢を示すツール座標データのＬｏｃ３は、戻り方向決定テンプレート機能によって、次の教示点（つまり作業原点Ｐ０）に対して最短時間で移動可能な姿勢として設定されている。従って、最終作業点Ｐｅでの作業終了後、エンドエフェクタ２２は、その場から速やかに待避することができ、作業終了後の移動時間も含めた動作を短時間で行うことができる。
【００９０】
次に、多関節ロボット１２のティーチングデータを作成する第２の方法につい説明する。この第２の方法（及び後述する第３の方法）では、メインルーチン、進入方向決定テンプレート機能及び戻り方向決定テンプレート機能は、それぞれ第１の方法における図７、図９及び図１０に示す処理と同じであり、図７のステップＳ６におけるエンドエフェクタ２２の第２の仮姿勢を設定する方法が異なる。このステップＳ６のサブルーチン処理について図１２を参照しながら説明する。
【００９１】
図１２におけるステップＳ４０１〜Ｓ４０５は、前記ステップＳ３０１〜Ｓ３０５と同じ処理である。
【００９２】
ステップＳ４０５の実行後、ステップＳ４０６において、エンドエフェクタ２２がＬｏｃ１からＬｏｃ３に移動する際の多関節ロボット１２の姿勢変化量ＰｏｓｅΔを求める。多関節ロボット１２の姿勢は、各軸Ｊ１〜Ｊ６の回転角度であるθ１〜θ６としてＰｏｓｅ１及びＰｏｓｅ３として表されることから、姿勢変化量ＰｏｓｅΔは、ＰｏｓｅΔ←Ｐｏｓｅ３−Ｐｏｓｅ１として求められる。
【００９３】
次の、ステップＳ４０７及びステップＳ４０８は、前記ステップＳ３０７及びＳ３０８と同じ処理であり、距離比ｒａｔ＿ｄｉｓｔ［ｊ］が求められる。
【００９４】
次に、ステップＳ４０９において、Ｐｏｓｅ１とＰｏｓｅ３とをｒａｔ＿ｄｉｓｔ［ｊ］で按分した多関節ロボット１２の按分姿勢ｄｄＰｏｓｅを求める。この姿勢ｄｄＰｏｓｅは、ｄｄＰｏｓｅ←Ｐｏｓｅ１＋ｒａｔ＿ｄｉｓｔ×ｄ＿ｐｏｓｅとして求められる。
【００９５】
この按分姿勢ｄｄＰｏｓｅは、処理対象作業点の距離比ｒａｔ＿ｄｉｓｔ［ｊ］に応じ、Ｐｏｓｅ１からＰｏｓｅ３まで次第に変化するように設定されることとなる。また、按分ｄｄＰｏｓｅが示す多関節ロボット１２の姿勢によって決定されるエンドエフェクタ２２の向きも、距離比ｒａｔ＿ｄｉｓｔ［ｊ］に応じて次第に変化するように設定されることとなる。
【００９６】
次に、ステップＳ４１０において、多関節ロボット１２が按分姿勢ｄｄＰｏｓｅであるときのエンドエフェクタ２２のツール座標データｘｊ、ｙｊ、ｚｊ、ｒｘｊ、ｒｙｊ、ｒｚｊを求める。これらの６つのパラメータは、各軸Ｊ１〜Ｊ６の回転角度と、各アームの長さを示す行列式とを順に積算することによって求めることができる。これらの６つのパラメータがエンドエフェクタ２２の第２の仮姿勢を表すことになる。
【００９７】
次に、ステップＳ４１１において、第１の仮姿勢を補正するための補正用データＤ［ｊ］としてｒｚｊを選択、代入する。
【００９８】
次に、ステップＳ４１２において、全ての処理対象作業点について第２の仮姿勢を求めたか否かを確認する。未処理の処理対象作業点があれば、カウンタｊを「＋１」インクリメントした後にステップＳ４０７へ戻り、処理を続行する。全ての処理対象作業点に対して処理が終了している場合には、図１２に示すサブルーチンの処理を終了し、前記ステップＳ７（図７参照）へ移る。
【００９９】
このように、多関節ロボット１２のティーチングデータを作成する第２の方法によれば、各処理対象作業点における多関節ロボット１２の按分姿勢ｄｄＰｏｓｅに基づいて、エンドエフェクタ２２のツール座標データを作成する。第１作業点Ｐ１及び最終作業点Ｐｅにおける多関節ロボット１２の姿勢は、進入方向決定テンプレート機能及び戻り方向決定テンプレート機能によって進入及び戻りが短時間で行うことができるように設定されていることから、前述の第１の方法と同様の効果を奏する。
【０１００】
次に、多関節ロボット１２のティーチングデータを作成する第３の方法について説明する。この第３の方法におけるメインルーチン、進入方向決定テンプレート機能及び戻り方向決定テンプレート機能は、第１の方法と同じであることから、図７のステップＳ６に相当する処理、すなわち、エンドエフェクタ２２の第２の仮姿勢を設定する処理について図１３及び図１４を参照しながら説明する。
【０１０１】
図１３におけるステップＳ５０１〜Ｓ５０５は、前記ステップＳ３０１〜Ｓ３０５と同じ処理である。
【０１０２】
ステップＳ５０５の実行後、ステップＳ５０６において、多関節ロボット１２の姿勢をＰｏｓｅ１とし、エンドエフェクタ２２を第１作業点Ｐ１に移動させた後に、最終作業点Ｐｅに対応するＰｏｓｅ３まで仮移動させる。
【０１０３】
この仮移動は、ロボット制御部２４が有する機能をシミュレーション回路４４で模擬的に移動するものであり、第１作業点Ｐ１から最終作業点Ｐｅまで滑らかに移動させることができる。また、この仮移動は、第１作業点Ｐ１及び最終作業点Ｐｅにおけるエンドエフェクタ２２の姿勢が進入方向決定テンプレート機能及び戻り方向決定テンプレート機能で求めた姿勢となることを条件として移動させればよく、途中の経路は、図１４の仮経路１０２のように、作業点Ｐ２、Ｐ３等を必ずしも通過する必要はない。
【０１０４】
移動動作の方法は選定可能であり、移動時間が最短となる移動、またはエンドエフェクタ２２の動作軌跡が直線状となる移動等を選択することができる。
【０１０５】
この仮移動の際、エンドエフェクタ２２の移動方向変化量、移動量及びエンドエフェクタ２２のツール座標データを所定の微小時間毎に記録する。また、この仮移動に要する総移動時間ｄ＿ｔｉｍｅを記録する。
【０１０６】
次の、ステップＳ５０７及びステップＳ５０８は、前記ステップＳ３０７及びＳ３０８と同じ処理であり、距離比ｒａｔ＿ｄｉｓｔ［ｊ］が求められる。
【０１０７】
次に、ステップＳ５０９において、総移動時間ｄ＿ｔｉｍｅを距離比ｒａｔ＿ｄｉｓｔ［ｊ］で按分した値、按分時間ｄｄ＿ｔｉｍｅ［ｊ］を求める。つまり、ｄｄ＿ｔｉｍｅ［ｊ］←ｄ＿ｔｉｍｅ×ｒａｔ＿ｄｉｓｔ［ｊ］として求める。
【０１０８】
次に、ステップＳ５１０において、前記ステップＳ５０６で記録したエンドエフェクタ２２に関するデータから、按分時間ｄｄ＿ｔｉｍｅ［ｊ］に相当する時間のデータを抽出する。また、この抽出したデータからエンドエフェクタ２２のツール座標データ（ｘｊ、ｙｊ、ｚｊ、ｒｘｊ、ｒｙｊ、ｒｚｊ）をエンドエフェクタ２２の第２の仮姿勢としてさらに抽出する。
【０１０９】
この第２の仮姿勢は、概念的には図１４のベクトルＶａ１、Ｖａ２、Ｖａ３、Ｖａ４…のように表される。
【０１１０】
次に、ステップＳ５１１において、第１の仮姿勢を補正するための補正用データＤ［ｊ］としてｒｚｊを選択、代入する。
【０１１１】
次に、ステップＳ５１２において、全ての処理対象作業点について補正用データＤ［ｊ］を設定したか否かを確認する。未処理の処理対象作業点があれば、カウンタｊを「＋１」インクリメントした後にステップＳ５０７へ戻り、処理を続行する。全ての処理対象作業点に対して処理が終了している場合には、図１３に示すサブルーチンの処理を終了し、前記ステップＳ７（図７参照）へ移る。
【０１１２】
多関節ロボット１２のティーチングデータを作成する第３の方法は、概念的には、図１４に示すように、仮経路１０２に沿ってエンドエフェクタ２２を仮移動させた後、作業点Ｐ１〜Ｐｅの距離比を、仮経路１０２の総移動時間ｄ＿ｔｉｍｅに当てはめた按分時間ｄｄ＿ｔｉｍｅ［ｊ］を求め、該当する個所におけるエンドエフェクタ２２の向きをベクトルＶａ１、Ｖａ２、Ｖａ３…として抽出することとなる。これらのベクトルＶａ１、Ｖａ２、Ｖａ３…をそれぞれ対応する処理対象作業点に移動することにより、第１の仮姿勢を示すベクトルＶｂ１、Ｖｂ２、Ｖｂ３、Ｖｂ４…が補正される。
【０１１３】
このように、多関節ロボット１２のティーチングデータを作成する第３の方法によれば、第１作業点Ｐ１と最終作業点Ｐｅとの間を模擬的に仮移動させて、この仮移動時に記録したエンドエフェクタ２２の姿勢に基づいて各処理対象作業点におけるエンドエフェクタ２２のツール座標データを設定する。従って、模擬的な仮移動を滑らかにし、及び／又は、短時間の移動となるように設定することにより、各作業点Ｐ１〜Ｐｅ間におけるエンドエフェクタ２２の相互の姿勢変化も滑らかなものとなり、結果として、作業点Ｐ１〜Ｐｅ間の移動を滑らかに、かつ、短時間で行うことができる。また、最終作業点Ｐｅでの作業終了後、エンドエフェクタ２２は、その場から速やかに待避することができ、作業終了後の移動時間も含めた全体としての動作を短時間で行うことができる。
【０１１４】
また、第３の方法では、仮経路１０２を通過する総移動時間ｄ＿ｔｉｍｅを距離比ｒａｔ＿ｄｉｓｔ［ｊ］で按分した按分時間ｄｄ＿ｔｉｍｅ［ｊ］を求めて処理を行っているが、総移動時間ｄ＿ｔｉｍｅに代えて、仮経路１０２の総距離を距離比ｒａｔ＿ｄｉｓｔ［ｊ］で按分した点に基づいて処理を行ってもよい。
【０１１５】
さらに、距離比ｒａｔ＿ｄｉｓｔ［ｊ］は、作業点Ｐ１〜Ｐｅの位置から求めたが、各作業点Ｐ１、Ｐ２、…Ｐｅの配置が略等間隔である場合には、距離比ｒａｔ＿ｄｉｓｔ［ｊ］の演算を省略して、均等割りにしてもよい。
【０１１６】
本発明に係る多関節ロボットのティーチングデータ作成方法は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々のステップを採り得ることはもちろんである。
【０１１７】
【発明の効果】
以上のように、本発明に係る多関節ロボットのティーチングデータ作成方法によれば、連続する複数の作業点に対してエンドエフェクタによって順次作業を行う際、多関節ロボットをスムーズに動作させて、全体としての動作時間を短縮させるティーチングデータを、熟練を要することなく、しかも試行錯誤を行うことなく作成することができる。
【図面の簡単な説明】
【図１】本実施形態のオフラインティーチング装置及び多関節ロボットの概略構成図である。
【図２】エンドエフェクタ、ＴＣＰのツール座標を示す模式斜視図である。
【図３】本実施形態のオフラインティーチング装置の回路構成図である。
【図４】ティーチングデータ作成回路の概略構成を示すブロック図である。
【図５】作業原点及び作業点の位置関係を示す模式図である。
【図６】パステーブルの内容を示す図である。
【図７】本実施形態に係る多関節ロボットのティーチングデータ作成方法の手順を示すフローチャートである。
【図８】図８Ａは、ワークに対するエンドエフェクタの第１の仮姿勢を示す模式図であり、図８Ｂは、ワークに対するエンドエフェクタの第２の仮姿勢を示す模式図であり、図８Ｃは、第１の仮姿勢を第２の仮姿勢で補正した後のワークに対するエンドエフェクタの姿勢を示す模式図である。
【図９】進入方向決定テンプレート機能の手順を示すフローチャートである。
【図１０】戻り方向決定テンプレート機能の手順を示すフローチャートである。
【図１１】第１の方法におけるエンドエフェクタの第２の仮姿勢を求める手順を示すフローチャートである。
【図１２】第２の方法におけるエンドエフェクタの第２の仮姿勢を求める手順を示すフローチャートである。
【図１３】第３の方法におけるエンドエフェクタの第２の仮姿勢を求める手順を示すフローチャートである。
【図１４】第３の方法における仮移動の経路と、作業点との位置関係を示す模式図である。
【符号の説明】
１０…オフラインティーチング装置  １２…多関節ロボット
２２…エンドエフェクタ            ２２ｂ、２２ｃ…電極
２４…ロボット制御部              ２６…制御部
４２…ティーチングデータ作成回路  ４２ａ…ロボット動作計画部
４２ｂ…ロボット姿勢サンプリング記録部
４２ｃ…移動量距離配分計算部      ４２ｄ…ロボット移動時間計算部
４２ｅ…ロボット姿勢教示部        ４２ｆ…ロボット教示データ記録部
４４…シミュレーション回路
５６…ティーチングデータ作成プログラム
１００…パステーブル              １０２…仮経路
ｊ…カウンタ                      ｄｉｓｔ…全経路距離
ｄ＿ｔｉｍｅ…総移動時間          Ｐ０…作業原点
Ｐ１〜Ｐｅ…作業点                ｒａｔ＿ｄｉｓｔ［ｊ］…距離比
【図１】
2004358593.tif 000003
【図２】
2004358593.tif 000004
【図３】
2004358593.tif 000005
【図４】
2004358593.tif 000006
【図５】
2004358593.tif 000007
【図６】
2004358593.tif 000008
【図７】
2004358593.tif 000009
【図８】
2004358593.tif 000010
【図９】
2004358593.tif 000011
【図１０】
2004358593.tif 000012
【図１１】
2004358593.tif 000013
【図１２】
2004358593.tif 000014
【図１３】
2004358593.tif 000015
【図１４】
2004358593.tif 000016
【手続補正書】
【提出日】平成16年2月3日(2004.2.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
【従来の技術】
従来、製造ラインに設置された多関節ロボットを直接操作させて作業姿勢のティーチングを行おうとすると、多関節ロボットの操作を熟知したオペレータが製造ラインの現場で作業を行わなければならない。その為、作業時間が限られ作業が非効率的となってしまう。また、このような作業は、製造ラインを停止させた状態で行う必要があるため、当該製造ラインの稼働率も低下してしまう。