(57)【特許請求の範囲】
【請求項１】
ツールの位置に関する３自由度とツールの姿勢に関する３自由度とを有する６軸多関節ロボットと、可動範囲が限定された、複数の軸を有するポジショナとを備えるロボットシステムにおける、前記ロボット本体にツールが装着されている当該ロボット本体の同ツール軸周りの回転量を任意に設定が可能な作業に対し、前記ロボット本体によりワークに対するツール姿勢を所定の姿勢で支持しつつ当該ワークに対して作業をなさせる教示方法であって、
予め与えられるツール位置に関する３自由度のパラメータであるツール位置パラメータおよびツールの姿勢に関する２自由度のパラメータであるツール姿勢パラメータに基づいてなされる、前記ポジショナの角度をポジショナ角度最適化処理により設定するポジショナ角度設定手順（第１手順）と、前記第１手順後になされるツール軸周りの回転量を表わすパラメータであるツール回転パラメータをツール回転量最適化処理により設定するツール姿勢設定手順（第２手順）とを含み、
前記ポジショナ角度設定手順において、ツール方向として作業内容から望ましいとして所望される方向をロボット座標系により表した所望方向ベクトルと、ポジショナに支持されるワークに予め設定されたワーク座標系におけるツール姿勢パラメータをポジショナ座標系、ロボット座標系へと順に座標変換して得られたツール姿勢パラメータに基づくツール方向ベクトルとのなす角が最小となるようポジショナの各軸値がポジショナ角度最適化処理により設定され、
前記ツール姿勢設定手順において、少なくともツールが前記ツール方向ベクトルの向きとなるようロボットの６軸の各軸値がツール回転量最適化処理により設定される
ことを特徴とするロボットシステムの教示方法。
【請求項２】
ロボットがロボットベースに垂直な軸の周りに回転可能とされ、前記ツール姿勢設定手順において、前記ロボットの各軸の軸心が前記垂直な軸を含む平面内に収まるようツール軸周りの回転量が自動的に設定されることを特徴とする請求項１記載のロボットシステムの教示方法。
【請求項３】
ロボットがロボットベースに垂直な軸の周りに回転可能とされ、前記ツール姿勢設定手順において、ツール軸に垂直かつツール軸からロボット本体手先への方向が、前記垂直な軸の方向に向くようツール軸周りの回転量が自動的に設定されることを特徴とする請求項１記載のロボットシステムの教示方法。
【請求項４】
ツールの位置に関する３自由度とツールの姿勢に関する３自由度とを有する６軸多関節ロボットと、可動範囲が限定された、複数の軸を有するポジショナとを備えるロボットシステムにおける、前記ロボット本体にツールが装着されている当該ロボット本体の同ツール軸周りの回転量を任意に設定が可能な作業に対し、前記ロボット本体によりワークに対するツール姿勢を所定の姿勢で支持しつつ当該ワークに対して作業をなさせる教示装置であって、
前記教示装置がツール姿勢設定部とポジショナ角度設定部とを有し、予め与えられるツール位置に関する３自由度のパラメータであるツール位置パラメータおよびツールの姿勢に関する２自由度のパラメータであるツール姿勢パラメータに基づいて、
前記ポジショナ角度設定部により、ツール方向として作業内容から望ましいとして所望される方向をロボット座標系により表した所望方向ベクトルと、ポジショナに支持されるワークに予め設定されたワーク座標系におけるツール姿勢パラメータをポジショナ座標系、ロボット座標系へと順に座標変換して得られたツール姿勢パラメータに基づくツール方向ベクトルとのなす角が最小となるようポジショナの各軸値がポジショナ角度最適化処理により設定され、
前記ツール姿勢設定部により、ツール軸周りの回転量を表わすパラメータであるツール回転パラメータを、ツール軸に垂直かつツール軸からロボット本体手先への方向がロボットの基準軸に向くよう設定され、かつ、少なくともツールが前記ツール方向ベクトルの向きとなるようロボットの６軸の各軸値がツール回転量最適化処理により設定される
ことを特徴とするロボットシステムの教示装置。
【請求項５】
ロボットがロボットベースに垂直な軸の周りに回転可能とされ、前記ツール姿勢設定部がツール回転量最適化処理手段を有し、前記ツール回転量最適化処理手段により、前記ロボットの各軸の軸心が前記垂直な軸を含む平面内に収まるようツール軸周りの回転量が自動的に設定されることを特徴とする請求項４記載のロボットシステムの教示装置。
【請求項６】
ロボットがロボットベースに垂直な軸の周りに回転可能とされ、前記ツール姿勢設定部がツール回転量最適化処理手段を有し、前記ツール回転量最適化処理手段により、ツール軸に垂直かつ該ツール軸からロボット本体手先への方向が、前記垂直な軸の方向に向くようツール軸周りの回転量が自動的に設定されることを特徴とする請求項４記載のロボットシステムの教示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットの教示方法および教示装置に関する。
【０００２】
【従来の技術】
従来より、汎用性の高い産業用ロボットとして６軸多関節型ロボット（以下、単に６軸ロボットという）は、アーク溶接、スポット溶接、レーザ切断、切削、塗装など幅広い分野で用いられている。６軸ロボットは、エンドエフェクタとしてロボットアームに装着される各種ツールの位置に関する３自由度とツールの姿勢に関する３自由度の合計６自由度を有するものとされ、これにより可動範囲内の任意の位置・姿勢でツールを支持し、各種作業を実施することが可能である。
【０００３】
ところが、例えばアーク溶接用ロボットとして６軸ロボットを使用する場合は、ツール姿勢に関し、トーチの中心軸（以下、ツール軸という）周りの回転量は基本的に任意の設定が可能であり、いわゆる冗長自由度となる。
【０００４】
そして、冗長自由度のある作業をロボットにより実施する際にその冗長自由度の設定値が不適切であると、ロボットの各軸の動作可能範囲の制約により、要求されたツールの位置・姿勢を実現することができなくなることがある。このため、教示作業を実施する際にはダイレクト教示、オフライン教示を問わず、ロボットを観察しながら教示作業を行う必要があり、オペレータの負担が増大するという問題がある。
【０００５】
この点に関し、例えば特開平１１−１９８０７３号公報には冗長自由度の設定について提案がなされているが、オペレータが基準となるツール姿勢をあらかじめ教示または入力しておくものとしているため、オペレータの負担を十分に軽減することができないといった問題がある。
【０００６】
なお、ロボットにおいて作業の効率化を図るため、ワークの姿勢を調整するポジショナが設けられることがある。そのような場合、ロボットの教示は、一般的には、ワーク座標系とロボット座標系との関係を調整しながらなす必要がある。そのため、ロボットにおいてポジショナが設けられた場合には、オペレータの負担が増大する。かかるポジショナが設けられた場合におけるオペレータの負担増を軽減するため、特開２０００−１５３４８３号公報には、ロボット教示装置に教示データ処理ルーチンを設けてなるものが提案されている。
【０００７】
しかしながら、特開２０００−１５３４８３号公報の提案においては、ツールやポジショナを所望姿勢とできない場合、いかに教示すべきかについては何等提案がなされておらず、またポジショナの角度の自動算出も提案されていない。
【０００８】
【発明が解決しようとする課題】
本発明はかかる従来技術の課題に鑑みなされたものであって、ツール軸周りの回転に対し冗長自由度を有するロボットが、ロボットの各軸の動作可能範囲の制約により、要求されたツールの位置・姿勢を実現することができなくなることがないよう簡便に教示できるポジショナを有するロボットの教示方法および教示装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
本発明のロボットの教示方法は、ツールの位置に関する３自由度とツールの姿勢に関する３自由度とを有する６軸多関節ロボットと、可動範囲が限定された、複数の軸を有するポジショナとを備えるロボットシステムにおける、前記ロボット本体にツールが装着されている当該ロボット本体の同ツール軸周りの回転量を任意に設定が可能な作業に対し、前記ロボット本体によりワークに対するツール姿勢を所定の姿勢で支持しつつ当該ワークに対して作業をなさせる教示方法であって、予め与えられるツール位置に関する３自由度のパラメータであるツール位置パラメータおよびツールの姿勢に関する２自由度のパラメータであるツール姿勢パラメータに基づいてなされる、前記ポジショナの角度をポジショナ角度最適化処理により設定するポジショナ角度設定手順（第１手順）と、前記第１手順後になされるツール軸周りの回転量を表わすパラメータであるツール回転パラメータをツール回転量最適化処理により設定するツール姿勢設定手順（第２手順）とを含み、前記ポジショナ角度設定手順において、ツール方向として作業内容から望ましいとして所望される方向をロボット座標系により表した所望方向ベクトルと、ポジショナに支持されるワークに予め設定されたワーク座標系におけるツール姿勢パラメータをポジショナ座標系、ロボット座標系へと順に座標変換して得られたツール姿勢パラメータに基づくツール方向ベクトルとのなす角が最小となるようポジショナの各軸値がポジショナ角度最適化処理により設定され、前記ツール姿勢設定手順において、少なくともツールが前記ツール方向ベクトルの向きとなるようロボットの６軸の各軸値がツール回転量最適化処理により設定されることを特徴とする。本発明のロボットの教示方法においては、ロボットがロボットベースに垂直な軸の周りに回転可能とされ、前記ツール姿勢設定手順において、前記ロボットの各軸の軸心が前記垂直な軸を含む平面内に収まるようツール軸周りの回転量が自動的に設定されたり、前記ツール姿勢設定手順において、ツール軸に垂直かつツール軸からロボット本体手先への方向が、前記垂直な軸の方向に向くようツール軸周りの回転量が自動的に設定されたりするのが好ましい。
【００１１】
一方、本発明のロボットの教示装置は、ツールの位置に関する３自由度とツールの姿勢に関する３自由度とを有する６軸多関節ロボットと、可動範囲が限定された、複数の軸を有するポジショナとを備えるロボットシステムにおける、前記ロボット本体にツールが装着されている当該ロボット本体の同ツール軸周りの回転量を任意に設定が可能な作業に対し、前記ロボット本体によりワークに対するツール姿勢を所定の姿勢で支持しつつ当該ワークに対して作業をなさせる教示装置であって、前記教示装置がツール姿勢設定部とポジショナ角度設定部とを有し、予め与えられるツール位置に関する３自由度のパラメータであるツール位置パラメータおよびツールの姿勢に関する２自由度のパラメータであるツール姿勢パラメータに基づいて、前記ポジショナ角度設定部により、ツール方向として作業内容から望ましいとして所望される方向をロボット座標系により表した所望方向ベクトルと、ポジショナに支持されるワークに予め設定されたワーク座標系におけるツール姿勢パラメータをポジショナ座標系、ロボット座標系へと順に座標変換して得られたツール姿勢パラメータに基づくツール方向ベクトルとのなす角が最小となるようポジショナの各軸値がポジショナ角度最適化処理により設定され、前記ツール姿勢設定部により、ツール軸周りの回転量を表わすパラメータであるツール回転パラメータを、ツール軸に垂直かつツール軸からロボット本体手先への方向がロボットの基準軸に向くよう設定され、かつ、少なくともツールが前記ツール方向ベクトルの向きとなるようロボットの６軸の各軸値がツール回転量最適化処理により設定されることを特徴とする。本発明のロボットの教示装置においては、ロボットがロボットベースに垂直な軸の周りに回転可能とされ、前記ツール姿勢設定部がツール回転量最適化処理手段を有し、前記ツール回転量最適化処理手段により、前記ロボットの各軸の軸心が前記垂直な軸を含む平面内に収まるようツール軸周りの回転量が自動的に設定されるたり、前記ツール姿勢設定部がツール回転量最適化処理手段を有し、前記ツール回転量最適化処理手段により、ツール軸に垂直かつ該ツール軸からロボット本体手先への方向が、前記垂直な軸の方向に向くようツール軸周りの回転量が自動的に設定されたりするのが好ましい。
【００１３】
【作用】
本発明のロボットの教示方法および教示装置は、前記の如く構成されているので、ロボットの各軸の動作可能範囲の制約により、要求されたツールの位置・姿勢を実現することができなくなることがないようにロボットを簡便に教示できる。
【００１４】
【発明の実施の形態】
以下、添付図面を参照しながら本発明を実施形態に基づいて説明するが、本発明はかかる実施形態のみに限定されるものではない。
【００１５】
図１に本発明の一実施形態に係るロボット教示方法が適用されるロボットシステムの一例を示す。このロボットシステム（以下、単にシステムという）Ｋは、例えばオフラインティーチングによる教示データにしたがってアーク溶接用トーチ（以下、単にトーチという）Ｔを操作するロボット（マニプレータ）１と、溶接対象となる各ワークＷ1、Ｗ2（図２参照）を所定の姿勢で保持するポジショナ２と、ロボット１およびポジショナ２を教示する教示装置３と、教示装置３の教示に従ってロボット１およびポジショナ２を制御する制御装置４とを主要構成要素として備えてなるものとされる。
【００１６】
ここで、制御装置４としては例えばポジショナ２を制御可能とされたロボットコントローラとされる。
【００１７】
ロボット１は、トーチＴ（ツール）が装着されるロボットアーム１０を有する鉛直軸を中心に回転可能とされた６軸垂直多関節型ロボットとされ、ロボットアーム１０によりトーチＴを所定の姿勢で支持しつつワークＷ1、Ｗ2上の溶接線１１に沿ってトーチＴを移動させるようにして溶接作業を実施する。
【００１８】
ポジショナ２は、ワークＷ1、Ｗ2を、水平軸Ｉ1を中心に傾動自在に支持する傾動軸（システムＫの第７軸、以下単に第７軸という）および水平軸Ｉ1に直交する１つの鉛直軸Ｉ2を中心に回転自在に支持する回転軸（システムＫの第８軸、以下単に第８軸という）の２自由度を有するものとされる。
【００１９】
教示装置３は、ワークに対する相対的なツール先端の位置およびツール姿勢に関する教示データに基づいてロボット１およびポジショナ２の各軸指令値を生成するツール姿勢設定部２０およびポジショナ角度設定部３０を含むものとされる。
【００２０】
ツール姿勢設定部２０はツール回転量最適化処理手段２１を含み、システムＫの冗長自由度をオペレータの監視等に依らず自動的にかつ適切に設定するためのツール回転量最適化処理を実施し、またポジショナ角度設定部３０はポジショナ角度最適化処理手段３１を含み、傾動軸の動作範囲を考慮してポジショナ２の角度を最適な角度をするためのポジショナ角度最適化処理を実施する。なお、この実施形態では、ポジショナ角度最適化処理がなされてポジショナ２が最適な角度とされた後にツール回転量最適化処理がなされてツール回転量が最適な値とされる。
【００２１】
以下、ツール回転量最適化処理およびポジショナ角度最適化処理を説明する。なお、以下の説明においては、まずツール回転量最適化処理について説明し、その後ポジショナ角度最適化処理について説明する。
【００２２】
１．各処理において使用される各種座標系
【００２３】
１−１．ロボット座標系Ｘr，Ｙr，Ｚr
ロボット座標系はロボットベース１ａを基準にした右手系直交座標系であり、実施形態ではＺr軸がロボットベース１ａの鉛直軸中心（基準軸中心）に一致するものとされ、また鉛直上方がＺr軸方向とされている。なお、ロボットが壁掛けロボットのように水平に設置される場合には、基準軸は水平軸とされる。また、この実施形態では基準軸は鉛直軸とされているが、基準軸は任意に設定可能である。
【００２４】
１−２．ワーク座標系ＸW，ＹW，ＺW
【００２５】
ワーク座標系はワークＷ1、Ｗ2を基準とした右手系直交座標系であり、実施形態ではその原点が後掲のポジショナ座標系原点と一致するものとされる。
【００２６】
１−３．ツール座標系Ｘt，Ｙt，Ｚt
【００２７】
ツール座標系は、図３に示すように、ツール（トーチＴ）の先端点を原点とする右手系直交座標系であり、実施形態ではＺt軸方向がツール中心軸に沿ってロボットアーム１０の先端側に向かう方向とされ、Ｙt−Ｚt平面がロボットアーム１０の先端点を含むものとされている。
【００２８】
１−４．ポジショナ座標系Ｘp，Ｙp，Ｚp
【００２９】
ポジショナ座標系はポジショナ２を基準とする右手系直交座標系であり、実施形態ではその原点がワーク座標系原点と一致するものとされる。なお、ポジショナ座標系の原点は水平中心軸Ｉ1から反ＺP軸方向に距離pＬpオフセットした位置とされている。また、ロボット座標系から後掲するポジショナ座標系への並進成分は（rＬx，rＬY，rＬZ）とされている。
【００３０】
次に、ツール回転量最適化処理を説明する。
【００３１】
２．ツール回転量最適化処理
【００３２】
ツール回転量最適化処理は、ロボット１が有する６自由度の中の冗長自由度であるツール軸周りの回転量を自動的にかつ適切に設定するための処理とされる。
【００３３】
例えば、図２に示すように、各ワークＷ1、Ｗ2を溶接線１１に沿って溶接するとき、教示装置３には、溶接作業によって要求される５自由度の設定値、すなわちトーチＴの位置（以下、ツール位置という）に関する３自由度の設定値（パラメータ）である溶接線１１上の教示位置（以下、ツール位置パラメータという）（WＸ，WＹ，WＺ）（ワーク座標系）と、トーチ角θTおよび前進角θFにより確定されるトーチＴの姿勢（以下、ツール姿勢という）に関する２自由度の設定値である各ツール姿勢パラメータｏ（α），ａ（β）（ワーク座標系）が予め与えられる。
【００３４】
そして、ツール姿勢の残り１自由度、すなわち冗長自由度であるツール軸周りの回転量を表わすパラメータ（以下、ツール回転パラメータという）Ｔ（ψ）（ロボット座標系）は、トーチＴの先端が鉛直下方を向き、かつツール座標系のＹt軸方向（ツール軸に垂直かつツール軸からロボット本体手先への方向）がロボット座標系Ｚr軸のある方向へ向くように設定される。
【００３５】
より具体的には、図４に示すように、ツール座標系のＹt軸方向の単位ベクトル（以下、ツールＹ軸方向単位ベクトルという）tｅyをロボット座標系のＸr−Ｙr平面に投射した射影ベクトル（以下、ツールＹ軸射影ベクトルという）rｅyがトーチＴの先端位置を示す位置ベクトル（ロボット座標系）、すなわち教示位置の位置ベクトルをロボット座標系のＸr−Ｙr平面に投射した射影ベクトル（以下、教示位置射影ベクトルという）rｐp＝［rＸ，rＹ］Tと方向が逆になれば、ツール座標系のＹt軸がロボット座標系Ｚr軸の方向を向くようになる。
【００３６】
ここで、ツールＹ軸方向単位ベクトルtｅyは、ツール姿勢パラメータｏ，ａ（α，β）をロボット座標系に変換して得られるツール姿勢パラメータＯ（φ）、Ａ（θ）（ｚｙｚ型オイラー角、ロボット座標系）およびトーチ回転パラメータＴ（ψ）に基づいて下記式（１）のように表される。
【００３７】
【数１】
0004221464.tif 000002
【００３８】
ただし、式（１）および後掲の各式において、記号Ｃはｃｏｓ（）を表し（例えばＣA＝ｃｏｓＡ）、記号Ｓはｓｉｎ（）を表す（例えばＳA＝ｓｉｎＡ）。なお、ｚｙｚ型オイラー角とは、座標系ｘｙｚを基準とする姿勢を、この座標系ｘｙｚのｚ軸周りの回転（回転後の座標系各軸をｘ´，ｙ´，ｚ´とする）［Ｏ］、ｙ´軸周りの回転（回転後の座標系各軸をｘ´´，ｙ´´，ｚ´´とする）［Ａ］およびｚ´´軸周りの回転［Ｔ］で表す姿勢表記法をいう。
【００３９】
したがって、ツールＹ軸射影ベクトルrｅyと教示位置射影ベクトルrｐpとが逆向きであるという条件から得られる方程式をトーチ回転パラメータＴ（ψ）について解くことによって、角度ψを下記式（２）のように求めることができる。
【００４０】
【数２】
0004221464.tif 000003
【００４１】
このとき、図５に示すように、ロボットアーム１０の軸心がロボット座標系のＺr軸を含む１つの平面Ｌ1内に収まることになり、破線で示すロボットアーム１０´のような姿勢となることがない。このためロボット１の可動範囲を広げることが可能となる。
【００４２】
以下、式（２）に示すトーチ回転パラメータＴ（ψ）を求めるためのより詳細な手順を説明する。ここでは、ロボット座標系によるツール位置パラメータ（rＸ，rＹ，rＺ）、ツール姿勢パラメータＯ（φ），Ａ（θ）およびツール回転パラメータＴ（ψ）が順次算出される。
【００４３】
２−１．  ツール位置パラメータ（rＸ，rＹ，rＺ）の算出
ワーク座標系によるツール位置パラメータ（wＸ，WＹ，WＺ）をロボット座標系によるツール位置パラメータ（rＸ，rＹ，rＺ）に変換するための変換式を下記式（３）により示す。
【００４４】
【数３】
0004221464.tif 000004
【００４５】
ただし、各記号Ｃ、Ｓの右下の添字７は後掲する第７軸角度Ｊｔ7を示し、添字８は後掲する第８軸角度Ｊｔ8を示す。また、各添字α、βはツール姿勢パラメータｏ，ａの各値を示す。
【００４６】
式（３）においてツール位置パラメータ（wＸ，WＹ，WＺ）を１つの同次座標系で表した行列（wＸ，WＹ，WＺ、１）に乗ぜられる変換行列は、下記式（４）、（５）、（６）における各変換行列rＴp0，p0Ｔp、pＴWの積とされる。
【００４７】
ここに、行列rＴp0：ロボット座標系からポジショナ座標系（第７軸および第８軸が基準位置から回転していないときのポジショナ座標系、以下、基準ポジショナ座標系という）への変換行列、行列p0Ｔp：基準ポジショナ座標系から回転後ポジショナ座標系（第７軸および第８軸が基準位置から所定角度θ7、θ8それぞれ回転したときのポジショナの座標系）への変換行列、行列PＴW：回転後ポジショナ座標系からワーク座標系への変換行列、とされる。
【００４８】
【数４】
0004221464.tif 000005
【００４９】
【数５】
0004221464.tif 000006
【００５０】
【数６】
0004221464.tif 000007
【００５１】
２−２．ツール姿勢パラメータＯ（φ）、Ａ（θ）の算出
ロボット座標系によるツール姿勢パラメータＯ（φ）、Ａ（θ）をワーク座標系によるツール姿勢パラメータｏ（α）、ａ（β）から生成するときの算出方法を下記式（７）、（８）により示す。
【００５２】
すなわち、後掲の式（１３）とロボット座標系によるツール姿勢パラメータ（オイラー角）Ｏ、Ａとの関係により下記式（７）が成り立つ。
【００５３】
【数７】
0004221464.tif 000008
【００５４】
式（７）の（１，２）、（２，２）の各行列成分に基づいてオイラー角Ｏ（φ）を、（３，１）、（３，３）の各行列成分に基づいてオイラー角Ａ（θ）をそれぞれ下記式（８）により算出する。
【００５５】
【数８】
0004221464.tif 000009
【００５６】
２−３．ツール回転パラメータＴ（ψ）の算出
【００５７】
ツールＹ軸方向単位ベクトルtｅy＝［tｊX，tｊY，tｊZ］Tを下記式（９）により求める。
【００５８】
【数９】
0004221464.tif 000010
【００５９】
ここで、教示位置射影ベクトルrｐp＝［rＸ，rＹ］Tと、ツールＹ軸射影ベクトルrｅyとが逆向きになることから下記式（１０）が成り立つ。
【００６０】
【数１０】
0004221464.tif 000011
【００６１】
ただし、係数ｋrは教示位置射影ベクトルrｐpとツールＹ軸射影ベクトルrｅyの大きさを合致させるための定数であり、下記式（１１）により算出される。
【００６２】
【数１１】
0004221464.tif 000012
【００６３】
式（１０）を解くと、下記式（１２）が得られる。
【００６４】
【数１２】
0004221464.tif 000013
【００６５】
３．ポジショナ角度最適化処理
【００６６】
次に、ポジショナ角度最適化処理、つまりポジショナ角度設定について説明する。このポジショナ角度最適化処理は、ロボット１が実施する作業内容に応じた最適なツール姿勢を実現するように、ポジショナ２の傾動軸である第７軸の角度Ｊｔ7および回転軸である第８軸の角度Ｊｔ8の組（以下、ポジショナ角度と称する）（Ｊｔ7，Ｊｔ8）を自動的かつ適切に設定するための処理とされる。
【００６７】
すなわち、アーク溶接においては溶接中にツール方向を鉛直下向（重力方向）に維持することが高い溶接品質を得るために必要とされる。したがって、本ポジショナ角度最適化処理においてはツール方向が常に鉛直下向となるようにポジショナ角度（Ｊｔ7，Ｊｔ8）を設定することが目標とされる。ところが、ポジショナ２の各軸（特に傾動軸）の可動範囲は比較的狭い範囲に限定されるのが通常であり、ツール方向を常に鉛直下向に維持することができないため、このような場合にはツール方向をでき得る限り鉛直下向に近い角度に維持するようにポジショナ角度（Ｊｔ7，Ｊｔ8）が設定される。
【００６８】
具体的には、前掲の各式（４）、（５）、（６）の変換行列rＴp0、p0Ｔp、pＴWの各回転成分（右辺行列左上の３×３行列）をそれぞれ行列（以下、回転行列という）rＲp0、p0Ｒp、pＲWで表すものとする。このとき、ワーク座標系をロボット座標系に変換する変換行列の回転成分は下記式（１３）により表すことができる。
【００６９】
【数１３】
0004221464.tif 000014
【００７０】
式（１３）の行列の第３列は、ツール座標系のＺ軸方向（ツール方向）の単位ベクトルをロボット座標系により表したベクトル、つまりツール方向ベクトルrｅtの成分となっている。すなわち、rｅt＝［ｘ，ｙ，ｚ］Tとすると、下記式（１４）が成り立つ。
【００７１】
【数１４】
0004221464.tif 000015
【００７２】
また、ツール方向として作業内容から望ましいものとされる方向（以下、所望方向という、アーク溶接においては前掲したとおり鉛直下向き）の方向ベクトル（以下、所望方向ベクトルという）rｄtをrｄt＝［ａ，ｂ，ｃ］Tとすると、ツール方向ベクトルrｅtと所望方向ベクトルrｄtとがなす角θについて、ベクトルの内積から下記式（１５）に示す関係が得られる。
【００７３】
ａｘ＋ｂｙ＋ｃｚ＝ｃｏｓθ≦１                                （１５）
【００７４】
ここで両ベクトルrｅt、rｄtが一致する場合、つまり両ベクトルrｅt、rｄtのなす角θが値０のときｃｏｓθ＝１，すなわち式（１５）の値が１となる。また、両ベクトルrｅt、rｄtのなす角θが大きくなるにつれて式（１５）の左辺の値は大きくなる。したがって、式（１５）の左辺を関数ｇとおき、この関数ｇの増減を調べることによって両ベクトルrｅt、rｄtのなす角θを最小とするポジショナ角度（Ｊｔ7，Ｊｔ8）を設定することが可能となる。
【００７５】
具体的には、所望方向ベクトルが鉛直下向きであるとき、そのベクトル成分は（０，０，−１）（ロボット座標系）となり、下記式（１６）に示すように、トーチ方向ベクトルのｚ成分を関数ｆ（Ｊｔ7，Ｊｔ8）と置ける。ただし、ｇ＝−ｆである。
【００７６】
【数１５】
0004221464.tif 000016
【００７７】
ツール方向が鉛直下向きと一致しない場合はトーチ方向を下向きになるべく近い方向とするように、関数ｆ（Ｊｔ7，Ｊｔ8）の値が極小となるようポジショナ角度（Ｊｔ7，Ｊｔ8）を選定する。すなわち、式（１６）を微分して下記式（１７）を得る。
【００７８】
【数１６】
0004221464.tif 000017
【００７９】
式（１７）の右辺を値０と置き、関数ｆ（Ｊｔ7，Ｊｔ8）が極値をとるときの第７軸角度Ｊｔ7を算出する。この結果、Ｊｔ7＝±１８０−α、−αが得られる。ここで、ツール姿勢パラメータＡの値β（ワーク座標系）によって場合分けが必要となる。
【００８０】
図６に式（１７）の右辺を値０とおいたときの解を表形式にまとめて示す。また、図７に、図６の解の組み合せの中で関数ｆ（Ｊｔ7，Ｊｔ8）を最小とする組み合わせを抽出したものを表形式で示す。
【００８１】
このように、システムＫにおいては、ツール座標系のＹt軸方向がロボット座標系のＺr軸（ロボット鉛直中心）の方向へ向くようにロボット１の冗長自由度であるトーチＴの軸周りの回転量が設定されるので、ロボットアームが垂直な平面内に収まりロボット１の可動範囲を広げるように自動的かつ適切にロボット１の冗長自由度を設定することが可能となる。
【００８２】
また、ツール方向を作業内容に適した所望方向ないしはでき得るかぎりそれに近い方向とするように、ツール方向の方向ベクトルと所望方向の方向ベクトルとのなす角が最小となるようにポジショナ２の各軸値、つまりポジショナ角度が設定されるので、自動的かつ適切にポジショナ角度を設定することが可能となる。
【００８３】
しかして、本実施形態では、ポジショナ角度を最適値とした後、そのときのツール姿勢に対応させてツールの回転量が最適値となるようにロボットの各軸値が設定される。
【００８４】
以上、本発明を実施形態に基づいて説明してきたが、本発明はかかる実施形態のみに限定されるものではなく、種々改変が可能である。例えば、本実施形態においては、アーク溶接トーチを有するロボットを例に採り説明されているが、本発明の適用はアーク溶接トーチを有するロボットに限定されるものではなく、各種ツールを有するロボットに適用できる。また、本実施形態ではポジショナを有する場合について説明されているが、ポジショナを有しない場合についても当然に適用できる。その場合には、当然のことながら前記２のツール回転量最適化処理のみが実施される。
【００８５】
【発明の効果】
以上詳述したように、本発明のロボットの教示方法および教示装置によれば、ロボットの各軸の動作可能範囲の制約により、要求されたツールの位置・姿勢を実現することができなくなることがないようにロボットを簡便に教示できるという優れた効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るロボット教示方法が適用されるロボットシステムの概略図である。
【図２】同ロボット教示方法におけるワークに対する相対的なツール先端の位置およびツール姿勢の設定を示す模式図である。
【図３】同ロボット教示方法におけるツール座標系を示す模式図である。
【図４】同ロボット教示方法におけるツール回転量最適化処理の基本概念を示す模式図である。
【図５】同ツール回転量最適化処理におけるロボットのツール回転量の設定結果を示す模式図である。
【図６】ポジショナ角度最適化におけるポジショナの各軸値設定の中間結果を示すテーブル図である。
【図７】同ポジショナ角度最適化におけるポジショナの各軸値設定の最終結果を示すテーブル図である。
【符号の説明】
Ｋ            ロボットシステム
Ｔ            トーチ（ツール）
Ｗ            ワーク
１            ロボット
２            ポジショナ
３            教示装置
４            制御装置
１０          ロボットアーム
２０          ツール姿勢設定部
２１          ツール回転量最適化処理手段
３０          ポジショナ角度設定部
３１          ポジショナ角度最適化処理手段
【図４】
0004221464.tif 000018
【図６】
0004221464.tif 000019
【図７】
0004221464.tif 000020
【図１】
0004221464.tif 000021
【図２】
0004221464.tif 000022
【図３】
0004221464.tif 000023
【図５】
0004221464.tif 000024