(57)【特許請求の範囲】
【請求項１】
ロボット制御装置に接続された操作手段を利用してロボットのジョグ移動を行なわせるためのロボットのジョグ操作方法において、
（ａ）前記ロボットについて、経路移動の位置データに基づいて、経路移動方向に一致した第１の座標軸の方向と、該座標軸及びツールの軸方向に対応した座標軸の両方に直交する第２の座標軸の方向を表わすデータを計算して記憶する段階と、
（ｂ）前記操作手段の出力を受けて、前記ロボットに、前記第１の座標軸の周りの回転ジョグ移動、前記第１の座標軸方向の並進ジョグ送り移動、前記第２の座標軸の周りの回転ジョグ移動、及び前記第２の座標軸方向の並進ジョグ移動の内の少なくとも一つを行なわせる段階とを含む、前記ロボットのジョグ操作方法。
【請求項２】
前記ロボットに、前記段階（ｂ）の後に、ツールの軸方向に対応した座標軸に沿った方向の並進ジョグ移動を行なわせる段階を含む、請求の範囲第１項に記載されたロボットのジョグ操作方法。
【請求項３】
前記ロボットに、前記段階（ｂ）の後に、ツールの軸の周りの回転ジョグ移動を行なわせる段階を含む、請求の範囲第１項に記載されたロボットのジョグ操作方法。
【請求項４】
前記段階（ｂ）が、前記位置データで指定された位置に移動されたロボットに対して実行される、請求の範囲第１項に記載された前記ロボットのジョグ操作方法。
【請求項５】
前記経路移動の位置データが、ツール姿勢に精度を求めない事前の位置教示によって作成される、請求の範囲第１項に記載されたロボットのジョグ操作方法。
【請求項６】
前記ロボットがアーク溶接ロボットであり、前記第１の座標軸の周りの回転ジョグ移動によってねらい角の調整が行なわれ、前記第２の座標軸の周りの回転ジョグ移動によって前進角の調整が行なわれる、請求の範囲第１項に記載されたロボットのジョグ操作方法。
【請求項７】
ロボット制御装置に記憶された、ツール座標系を含め複数の座標系の１つを選択し得る座標系選択手段と、
複数のキーを備え、キー選択することにより、上記座標系選択手段により選択された座標系の、その選択されたキーに対応する座標軸の周りにロボットに支持されたツールを回転させるか、または、上記座標軸に沿って並進運動させる指令を出力するジョグ移動指令出力手段と
上記ジョグ移動指令出力手段からの出力により経路上の１点にツール先端点を移動させたときにその点の位置をロボットに教示する位置教示手段と、
上記経路の方向と一致する第１の軸と、この第１の軸に直交しかつ上記経路上の１点にツール先端点が位置するツールの軸に直交する第２の軸をそれぞれ座標軸に含んだ座標系をロボット制御装置に設定し記憶する手段とを具備する、ロボットのジョグ操作システム。
【請求項８】
上記ロボット制御装置に設定され記憶される座標系は、上記第１の軸及び第２の軸にそれぞれ対応する２つの座標軸のほかに、さらにツールの軸心に対応する第３の座標軸をもった、非直交３軸の座標系であることを特徴とする、請求の範囲第７項に記載されたロボットのジョグ操作システム。
【発明の詳細な説明】
技術分野
本発明は、産業用ロボット（以下、単に「ロボット」と言う。）のジョグ操作方法並びにジョグ操作システムに関し、更に詳しく言えば、ロボットの経路移動の方向に一致した座標軸を持つような座標系に準拠したジョグ送りが可能なジョグ操作方法、並びに、同方法を実行するためのシステムに関する。本発明は、特に、溶接ロボットやシーリングロボットに姿勢（溶接トーチ、シーリングガン、スポットガン等の姿勢）を教示する際に有効に適用し得るものである。
背景技術
ロボットを目標位置へ向けて移動させる代表的な方法として、動作プログラムの再生運転による方法とジョグ操作による方法とがある。後者のジョグ操作による方法には、ベース（ワールド）座標系ジョグ、ユーザ座標系ジョグ、ツール座標系ジョグ、および各軸ジョグ等が知られており、これらは用途に応じて使い分けられている。
中でもツール座標系ジョグは、ロボットの先端に取り付けられる溶接トーチ、シーリングガン、スポットガン、ハンドなどのツールと一体に定義されたツール座標系に準拠してジョグ操作時の並進／回転移動方向を指定出来る特性を有していることから、アーク溶接、シーリングなどのアプリケーションで比較的多く用いられる。
例えば、アーク溶接ロボットにおいては、図１に示すように、溶接トーチ（以下、単に「トーチ」と言う）１の先端２を原点とし、トーチ方向をＺ軸とし、トーチ前面に対応した方向となる頻度の高い方向をＸ軸としたツール座標系が設定されることが多い。なお、「トーチ前面」とは、溶接線方向（溶接進行方向）３に面するトーチ面のことを言うものとする。
このように定義されたツール座標系に準拠したジョグ操作によってロボットの位置教示を行なう場合、少なくとも姿勢教示の段階ではオペレータはＸ軸方向を溶接線方向３に向けた姿勢をロボットにとらせた上で姿勢調整を行なうのが通例である。その理由は、ツール座標系の一つの特定の座標軸（Ｘ軸）を対象となる溶接線の方向３と一致させることで、以後のツール座標系ジョグにおける感覚的な操作性が高められるからである。
すなわち、このようなやり方により、ジョグ操作キーとロボットの移動方向（特に回転移動方向）との関係が意識し易くなる。例えば、±Ｘ軸周りの移動を行なうジョグキー操作を溶接線方向３の周りの回転移動と対応させて意識し、溶接線方向３と垂直で且つツールの軸方向に対応した座標軸に対しても垂直な軸の周りの回転移動を±Ｙ軸周りの移動を行なうジョグキー操作と対応させて意識することが出来る。このような調整が行なわれるトーチ姿勢を記述する量として、ねらい角及び前進角と呼ばれる量がある。
図２は、アーク溶接ロボットにおけるねらい角及び前進角を説明する図であり、直線の溶接経路ＡＢを例にとり、溶接線、基準面とねらい角、前進角の関係が示されている。同図において、基準面Γ0は、溶接線方向（Ａ→Ｂの方向）３とともに、ねらい角を定める際の基準とされる面である。通常、溶接経路ＡＢが存在するワーク部分を代表するワーク面が基準面Γ0として選ばれる。符号＜ｎ＞は基準面Γ0の向きを表わす法線ベクトルを表わし、符号Γ1は経路ＡＢを交線とする基準面Γ0に対する垂面を表わしている。ここで、基準面Γ0は、専らねらい角を定めるためにのみ使用されることに注意する必要がある。
この基準面Γ0に対して、トーチ１の方向（ツール座標系のＺ軸方向）を表わす直線と溶接線ＡＢが乗る平面γを考えた時、平面γが基準平面Γ0に対してなす角がねらい角θである。また、ツール先端点２から平面γに乗る溶接線ＡＢに対する垂線ｇを立てた時、トーチ１の方向（ツール座標系のＺ軸方向）を表わす直線が直線ｇに対してなす角が前進角φである。なお、図示した角度φの取り方において角度φが０度を下回った時には、前進角に代えて後退角の呼称が使用されることもあるが、ここでは前進角の呼称で統一する。このように、ねらい角θは溶接線ＡＢ周りの角度であり、前進角φは基準面（ワーク面）Γ0上で溶接線ＡＢに立てた垂線ｇ周りの角度である。
例えば隅肉溶接では、通常、２つのワーク面を２分する角度をねらい角θとして持つ姿勢を教示するが、もし、いずれかのワーク面にトーチ１（あるいはその溶接ワイヤ部分）が接近すると入熱量の偏りによってアンダーカットやオーバラップ等を現象を招くおそれがある。また、ビード形状を平滑化する為に前進角φを大きくとり過ぎると、いわゆる溶け込み不足の現象を起こす。この例からも判るように、ねらい角θや前進角φで記述されるトーチ姿勢（一般には、ロボット姿勢）は、溶接あるいはシーリングなど他の作業における作業の品質を左右する重要な要因である。
そこで、ねらい角と前進角で記述されるトーチ姿勢の教示には正確さが要求される。その為、実際の位置教示作業においては、各教示点毎にこれらねらい角と前進角の調整の為の入念な作業が必要となる。上述したように、ツール座標系のＸ軸方向と溶接線方向（図２ではＡＢの方向）を一致させた状態とすれば、ねらい角の調整はＸ軸周りのジョグ操作、前進角の調整はＹ軸周りのジョグ操作で可能となる。
ところが実際には、種々の形状を有するワークとロボットの位置関係によって、ツール座標系のＸ軸方向と溶接線方向を一致させることが困難な場合も多い。その場合には、Ｘ軸方向に代えてＹ軸方向を溶接線方向と一致させてから、Ｙ軸周りのジョグ操作でねらい角を調整し、Ｘ軸周りのジョグ操作で前進角の調整を行なう方法がある。この場合には、Ｘ軸方向と溶接線方向を一致させた状態から姿勢調整を行なう通常の場合とは異なったジョグキーを押下する操作が要求されることになる。
更に、場合によっては、ツール座標系のＸ軸方向、Ｙ軸方向のいずれも溶接線方向と一致させることが困難な場合も有り得る。その場合には、Ｘ軸周りのジョグ操作とＹ軸周りのジョグ操作を組み合わせてねらい角と前進角の調整を行なわなければならない。このような調整作業には高度の熟練を要し、教示に要する作業時間も非常に長いものとなる。
以上溶接ロボットの場合を例にとって述べたように、従来より使用されているツール座標系ジョグは、ロボットの手先の姿勢と対応した座標系に準拠しているので、ツール（溶接トーチ、シーリングガン、スポットガン、ハンドなど）を手先に装着したロボットの経路位置教示作業時に効果を発揮する。特に、上記の溶接トーチの例で説明したように、ワークに対するツールの相対的な姿勢を正確に教示しなければならない場合に有効な手段を提供する。
しかしながら、ツール座標系の一つの特定軸（Ｘ軸）を溶接線（一般には作業線。例えば、シーリングロボットの場合にはシーリング線）の方向と一致させた状態とした上でねらい角や前進角の調整に移行して姿勢の教示を行なうことが困難な場合も生じていた。すなわち、上記一つの特定軸（Ｘ軸）とは別の軸（Ｙ軸）を作業線の方向と一致させた状態としてねらい角や前進角を調整する場合には、通常時と異なったジョグキー操作が要求されるという問題があった。また、Ｘ軸、Ｙ軸のいずれも作業線の方向と一致させることが困難な場合には、更に煩雑なジョグ操作を必要としていた。
発明の開示
本発明の目的は、各教示点における姿勢教示に際して一貫して溶接線等の作業線の方向と一つの特定の座標軸の方向とを一致させることが出来るジョグ座標系に準拠したジョグ操作方法並びに同方法を実行するためのジョグ操作システムを提供して、溶接ロボット、シーリングロボット等に対する教示作業を簡素化、効率化しようとすることにある。
上記目的を達成するため、本発明によるロボットのジョグ操作方法は、ロボット制御装置に接続された操作手段を利用してロボットのジョグ移動を行なわせるためのロボットのジョグ操作方法において、前記ロボットについて、経路移動の位置データに基づいて、経路移動方向に一致した第１の座標軸の方向と、該座標軸及びツールの軸方向に対応した座標軸の両方に直交する第２の座標軸の方向を表わすデータを計算して記憶する段階と、前記操作手段の出力を受けて、前記ロボットに前記第１の座標軸の周りの回転ジョグ移動あるいは第２の座標軸の周りの回転ジョグ移動の内の少なくとも一方を行なわせる段階とを含む。
また、本発明によるロボットのジョグ操作システムは、ロボット制御装置に記憶された、ツール座標系を含め複数の座標系の１つを選択し得る座標系選択手段と、
複数のキーを備え、キー選択することにより、上記座標系選択手段により選択された座標系の、その選択されたキーに対応する座標軸の周りにロボットに支持されたツールを回転させるか、または、上記座標軸に沿って並進運動させる指令を出力するジョグ移動指令出力手段と、
上記ジョグ移動指令出力手段からの出力により経路上の１点にツール先端点を移動させたときにその点の位置をロボットに教示する位置教示手段と、
上記経路の方向と一致する第１の軸と、この第１の軸に直交しかつ上記経路上の１点にツール先端点が位置するツールの軸に直交する第２の軸をそれぞれ座標軸に含んだ座標系をロボット制御装置に設定し記憶する手段とを具備する。
本発明によれば、経路方向に一致した座標軸とこれと垂直でかつツールの軸心と垂直である座標軸とを有する座標系に準拠したジョグ操作が可能となるため、ねらい角、前進角のようなツール姿勢を、座標系の選択とさらに操作盤に用意されているジョグキーの操作とで簡単に調整することが出来る。
【図面の簡単な説明】
図１はアーク溶接ロボットにおけるツール座標系の向きと溶接経路の向きとの関係を説明する図であり、
図２はアーク溶接ロボットにおけるねらい角及び前進角を説明する図であり、
図３は本発明を実施する際に使用可能なロボット制御装置を要部ブロック図で示したものであり、
図４Ａは本実施形態で使用されるジョグ操作部のキー配列の第２の例を表わした図であり、
図４Ｂは同じくキー配列の第１の例を表わした図であり
図５は本実施形態における溶接経路とジョグ操作時に準拠する経路−ツール座標系について説明する図であり、そして、
図６Ａ及び６Ｂは本実施形態における処理の概略を記したフローチャートである。
発明を実施するための最良の形態
本発明においては、直線経路ごとに「経路−ツール座標系」なる新たな座標系が設定されることを特徴とする。そこでまず、この座標系について図５を参照して説明する。
経路Ａ−Ｂに対しては、この経路−ツール座標系のＸ軸は経路Ａ−Ｂに一致し、Ｙ軸はＸ軸に垂直でかつ当該経路の始点Ａにおかれたツールの軸心にも垂直の方向にあり、また、Ｚ軸はツールの軸心（ツール座標系のＺ軸）に一致する。図５では、経路Ａ−Ｂに対する経路−ツール座標系は、Ｘ軸がＸAB、Ｙ軸がＹAB、Ｚ軸がＺfとして示されている。同様に、経路Ｂ−Ｃに対しては、この経路−ツール座標系のＸ軸は経路Ｂ−Ｃに一致し、Ｙ軸はＸ軸に垂直でかつ当該経路の始点Ｂにおかれたツールの軸心にも垂直の方向にあり、また、Ｚ軸はツールの軸心（ツール座標系のＺ軸）に一致する。図５では、経路Ｂ−Ｃに対する経路−ツール座標系は、Ｘ軸がＸBC、Ｙ軸がＹBC、Ｚ軸がＺfとして示されている。
次に、その経路−ツール座標系を利用した、ロボットのジョグ操作方法についての本発明の典型的な１実施の形態として、アーク溶接を行なう溶接ロボットの教示作業におけるジョグ操作について以下に説明する。
ここで、本発明を実施する際に使用可能なロボット制御装置を図３の要部ブロック図を参照して説明する。
ロボット制御装置１０は中央演算処理装置（以下、ＣＰＵという。）１１を有し、該ＣＰＵ１１には、ＲＯＭからなるメモリ１２、ＲＡＭからなるメモリ１３、不揮発性メモリ１４、溶接トーチの電源（図示省略）を含む外部装置との間のインターフェイス機能を果たす入出力装置１５、教示操作盤３０のためのインターフェイス１６及びロボット機構部２０の各軸の動作をサーボ回路１８を介して制御するロボット軸制御部１７が、各々バス１９を介して接続されている。
ＲＯＭ１２にはロボット制御装置１０自身を含むシステム全体を制御するプログラムが格納される。ＲＡＭ１３はＣＰＵ１１が行なう処理のためのデータの一時記憶に使用される。不揮発性メモリ１４には、ロボットの動作プログラムデータやシステム各部の動作に関連した諸設定値の他に、後述するジョグ座標系の設定とそれに基づいたジョグ送りに関連したプログラム並びに諸データが格納される。
インターフェイス１６に接続される教示操作盤３０は、マニュアル入力でロボット制御装置１０に対して指令を出力することが出来るジョグ操作部４０を有している。このジョグ操作部４０は、従来方式によるジョグ操作機能の他に、後述する処理をＣＰＵ１１に実行させて経路−ツール座標系に準拠したジョグ操作のための指令を出力する機能を備えている。
次に、本実施形態で使用されるジョグ操作部４０のキー配列及び各キーの機能の一例を図４Ａを参照して説明する。
座標系キー４１はジョグ操作時の準拠座標系を選択するキーであって、従来方式によるジョグ動作時の準拠座標系（ベース座標系、ユーザ座標系、ツール座標系など三次元直交座標系）のほかに、「経路−ツール座標系」をも選択出来るようになっている。
キー４２、４３、４４は従来方式によるジョグ操作と本発明に従ったジョグ操作に兼用されるジョグキーで、それぞれ座標系キー４１で選択された座標系のＸ軸、Ｙ軸、Ｚ軸に関連するジョグ移動の指令を出力するものである。シフトキー４６〜４９は、キー４２、４３、４４の内の１つと同時押下することで、機能モードをシフトするキーである。
これらキーの使用法の概略は次の通りである。なお、いずれの使用法
においても、キーの同時押下を中断するとロボットはその状態で停止し、同時押下を再開すれば再度ジョグ移動が開始される。
Ａ．座標系キー４１で通常の三次元直交座標系が選択されている時；
ａ）  キー４２〜４４の内の一つとシフトキー４６を同時押下した時には、選択されている座標系のＸ軸、Ｙ軸あるいはＺ軸周り（−方向）の回転ジョグ移動の指令を出力する。例えば、座標系キー４１でツール座標系が選択された状態で、キー４２とシフトキー４６を同時押下すると、ツール座標系のＸ軸周り（−方向）の回転ジョグ移動の指令が出力される。
ｂ）  キー４２〜４４の内の一つとシフトキー４７を同時押下した時には、選択されている座標系のＸ軸、Ｙ軸あるいはＺ軸周り（＋方向）の回転ジョグ移動の指令を出力する。例えば、座標系キー４１でベース座標系が選択された状態で、キー４３とシフトキー４７を同時押下すると、ベース座標系のＹ軸周り（＋方向）の回転ジョグ移動の指令が出力される。
ｃ）  キー４２〜４４の内の一つとシフトキー４８を同時押下した時には、選択されている座標系の＋Ｘ軸、＋Ｙ軸あるいは＋Ｚ軸方向の並進ジョグ送り移動の指令を出力する。例えば、座標系キー４１でツール座標系が選択された状態で、キー４４とシフトキー４８を同時押下すると、ツール座標系の＋Ｚ軸方向の並進ジョグ送り移動の指令が出力される。
ｄ）  キー４２〜４４の内の一つとシフトキー４９を同時押下した時には、選択されている座標系の−Ｘ軸、−Ｙ軸あるいは−Ｚ軸方向の並進ジョグ送り移動の指令を出力する。例えば、座標系キー４１でユーザ座標系が選択された状態で、キー４２とキー４９を同時押下すると、ユーザ座標系の−Ｙ軸方向の並進ジョグ送り移動の指令が出力される。
以上の使用法については、従来の方式によるものと基本的に変わるところはない。本発明に従ったジョグ操作は、座標系キー４１で「経路−ツール座標系」を選択した上で、次のようなキー使用法に基づいて行なわれる。
Ｂ．座標系キー４１で「経路−ツール座標系」が選択されている時；
ａ）  キー４２とシフトキー４６を同時押下した時には、経路−ツール座標系のＸ軸周り（−方向）の回転ジョグ移動の指令を出力する。同様に、キー４２とシフトキー４７を同時押下した時には、経路−ツール座標系のＸ軸周り（＋方向）の回転ジョグ移動の指令を出力する。後述するように、キー４２とシフトキー４６または４７の内の一方とを同時押下することで、ねらい角の調整が行なわれる。
ｂ）キー４２とシフトキー４８を同時に押下した時には、経路−ツール座標系の＋Ｘ軸方向の並進ジョグ送り移動の指令を出力する。同様に、キー４２とシフトキー４９を同時に押下した時には、経路−ツール座標系の−Ｘ軸方向の並進ジョグ送り移動の指令を出力する。
ｃ）キー４３とシフトキー４６を同時押下した時には、経路−ツール座標系のＹ軸周り（−方向）の回転ジョグ移動の指令を出力する。同様キー４３とシフトキー４７を同時押下した時には、経路−ツール座標系のＹ軸周り（＋方向）の回転ジョグ移動の指令を出力する。後述するように、シフトキー４６または４７の内の一方とキー４３を同時押下することで、前進角の調整が行なわれる。
ｄ）キー４３とシフトキー４８を同時に押下した時には、経路−ツール座標系の＋Ｙ軸方向の並進ジョグ送り移動の指令を出力する。同様に、キー４３とシフトキー４９を同時に押下した時には、経路−ツール座標系の−Ｙ軸方向の並進ジョグ送り移動の指令を出力する。
ｅ）  キー４４とシフトキー４６を同時押下した時には、ツール座標系のＺ軸周り（−方向）の回転ジョグ移動の指令を出力する。同様に、キー４４とシフトキー４７を同時押下した時には、ツール座標系のＺ軸周り（＋方向）の回転ジョグ移動の指令を出力する。
ｆ）キー４４とシフトキー４８を同時押下した時には、ツール座標系の＋Ｚ軸方向の並進ジョグ移動の指令を出力する。同様に、シフトキー４９とシフトキー４４を同時押下した時には、ツール座標系の−Ｚ軸方向の並進ジョグ移動の指令を出力する。
すなわち、Ｚ軸に関するジョグキー４４は、座標系キー４１で「経路−ツール座標系」が選択されている時も、「ツール座標系」が選択されている時と同じ機能を有している。
以上のシステム構成及び機能を前提に、ここでは図５に示した経路を有する溶接線についての教示作業を想定し、オペレータが行なうキー操作例とＣＰＵ１１によって実行される処理の概要を、図６に示したフローチャートを参照して、説明する。なお、ツール座標系を含む通常の座標系（ベース座標系、ユーザ座標系など）は周知の方法によって既に設定済みであるものとする。
１．先ず、座標系キー４１で通常の座標系（ツール座標系、ベース座標系、ユーザ座標系など）を適宜選択し、キー４２〜４４及びシフトキー４８，４９を選択することによって、ロボットをジョグ送りしてツール先端点（トーチ先端）を経路Ａ−Ｂの始点である位置Ａに移動させる。
２．次に、教示操作盤３０の教示キー（図示省略）を操作して位置Ａをロボットに教示する。姿勢については後に調整されるので、適当な姿勢を教示しておけば十分である。
３．同様に、ロボットをジョグ送りしてツール先端点を次の経路Ｂ−Ｃの始点である位置Ｂに移動させて、その位置Ｂをロボットに教示する。姿勢については位置Ａの場合と同じく、適当な姿勢を教示しておけば十分である。
４．（経路Ｂ−Ｃにさらに別の経路が続く場合は、）更に同じく、ロボットをジョグ送りしてツール先端点を位置Ｃに移動させて、その位置Ｃをロボットに教示する。姿勢については位置Ａ，Ｂの場合と同じく適当な姿勢を教示しておけば十分である。
以上、２．−４．によって、経路移動の位置データをツール姿勢に精度を求めることなく求め、ロボット制御装置に記憶する。また、経路ＡＢＣを辿る動作プログラム名の登録等、必要な操作を行なう。動作プログラム名をここではＰＲ１とする。
５．教示操作盤３０のモード選択キー（図示省略）を操作して、ステップ移動モードとし、上記４．で登録したプログラムＰＲ１を指定した上で、ロボットを位置Ａへステップ移動させる。
なお、ここまでの操作に伴う処理については従来と同様であるから、ここでは説明を省略する。
６．座標系キー４１で「経路−ツール座標系」を選択する。この出力を受けて（ステップＳ１）、ＣＰＵ１１は経路−ツール座標系を規定するパラメータを計算する。ここでは、経路区間ＡＢについてＸ軸（ＸAB）とＹ軸（ＹAB）の方向を表わす単位ベクトル＜ｅXAB＞，
＜ｅYAB＞と、経路区間ＢＣについてＸ軸（ＸBC）とＹ軸（ＹBC）の方向を表わす単位ベクトル＜ｅXBC＞，＜ｅYBC＞とを計算し、結果を不揮発性メモリ１４に格納する（ステップＳ２）。なお、各区間について求められるＹ軸（ＹABとＹBC）は、必ずしも基準面Γ0（ワーク面）上に乗る必要はないことに注意する必要がある。
単位ベクトル＜ｅXAB＞は位置Ａ，Ｂの位置データから、また、単位ベクトル＜ｅXBC＞は位置Ｂ，Ｃの位置データから計算される。さらに、単位ベクトル＜ｅYAB＞は、単位ベクトル＜ｅXAB＞と垂直でかつ位置Ａでのツールの軸方向に垂直な単位ベクトルとして計算され、また、単位ベクトル＜ｅYBC＞は、単位ベクトル＜ｅXBC＞とツールの軸方向に垂直な単位ベクトルとして計算される。なお、ツールの軸方向はツール座標系のＺ軸（図５ではＺtで示す）をそのまま用いて「経路−ツール座標系」のＺ軸とする。
以上のように、「経路−ツール座標系」は、ロボット（ツール先端点）が位置Ａにあるときは、そのＸ軸は経路Ａ−Ｂに一致し、Ｚ軸はツール座標系のＺ軸に一致し、またＹ軸はＸ軸とＺ軸との両方に直交する軸となる。すなわち、Ｙ軸の方向の単位ベクトルはＸ軸方向の単位ベクトルとＺ軸方向の単位ベクトルとの外積ベクトルとなる。ただし、Ｘ軸とＺ軸とは直交していないため、「経路−ツール座標系」は直交３軸座標系ではないということに留意すべきである。
７．以上で、経路−ツール座標系に基づいたジョグ操作が可能な状態となるので、次のようなキー操作で位置Ａに関するねらい角と前進角の調整を行なう。また、必要に応じて、トーチ軸周りの方向調整（トーチ面の向き）とトーチ軸方向に沿った位置調整（ワーク面への接近／離隔の調整、ワイヤ突き出し長との調整）を行なう。
７−１、［ねらい角の調整］
ねらい角の調整は、キー４２と、シフトキー４６または４７の同時押下によるジョグ移動によって行なわれる。ねらい角を大きくしたい場合には、キー４２とシフトキー４６を同時押下し、ねらい角を小さくしたい場合には、キー４２とシフトキー４７を同時押下する。
すなわち、キー４２と、シフトキー４６または４７が同時押下されると、指令待ちの状態（ステップＳ３）から、ステップＳ４を経て、ステップＳ１０へ進み、経路−ツール座標系のＸ軸周り（位置ＡについてはＸAB周り）の回転ジョグ移動のための処理が実行される。既知の直線（座標軸）周りのジョグ移動のための計算処理については、従来のジョグ操作の処理で周知なのでここでは詳細は省略する（以下、同様）。
７−２、［前進角の調整］
前進角の調整は、キー４３と、シフトキー４６または４７の同時押下によるジョグ移動によって行なわれる。前進角を大きくしたい場合には、キー４３とシフトキー４７を同時押下し、前進角を小さくしたい場合には、キー４３とシフトキー４６を同時押下する。
すなわち、キー４３と、シフトキー４６または４７が同時押下されると、指令待ちの状態（ステップＳ３）から、ステップＳ４、ステップＳ５を経て、ステップＳ１１へ進み、経路−ツール座標系のＹ軸（位置ＡについてはＹAB）周りの回転ジョグ移動のための処理が実行される。
７−３、［トーチ軸周りの方向調整（トーチ面の向きの調整）］
トーチ軸周りの方向調整は、キー４４と、シフトキー４６または４７の同時押下によるジョグ移動によって行なわれる。シフトキー４６と４７の使い分けは、回転移動の向きに応じて行なう。すなわち、キー４４と、シフトキー４６または４７が同時押下されると、指令待ちの状態（ステップＳ３）から、ステップＳ４、ステップＳ５、ステップＳ６を経て、ステップＳ１２へ進み、ツール座標系のＺ軸（Ｚtで表示）周りの回転ジョグ移動のための処理が実行される。
７−４、［トーチ軸方向に沿った位置調整］
トーチ軸方向に沿った位置調整は、キー４４と、シフトキー４８または４９の同時押下によるジョグ移動によって行なわれる。シフトキー４８と４９の使い分けは、並進移動の向き（接近／離隔）に応じて行なう。すなわち、キー４４と、シフトキー４６または４７が同時押下されると、指令待ちの状態（ステップＳ３）から、ステップＳ４、ステップＳ５、ステップＳ６、ステップＳ７を経て、ステップＳ１３へ進み、ツール座標系のＺ軸（Ｚtで表示）に沿った並進ジョグ移動のための処理が実行される。
７−５  ［Ｘ軸方向並進ジョグ移動］
経路−ツール座標系のＸ軸方向の並進移動は、キー４２と、シフトキー４８または４９の同時押下によるジョグ移動によって行なわれる。キー４２と、シフトキー４８または４９の一方とが同時押下されると、指令待ちの状態（ステップＳ３）から、ステップＳ４乃至ステップＳ８を経て、ステップＳ１４へ進み、Ｘ軸方向の並進ジョグ移動のための処理が実行される。
７−６  ［Ｙ軸方向並進ジョグ移動］
経路−ツール座標系のＹ軸方向の並進移動は、キー４３と、シフトキー４８または４９の同時押下によるジョグ移動によって行なわれる。キー４３と、シフトキー４８または４９の一方とが同時押下されると、指令待ちの状態（ステップＳ３）から、ステップＳ４乃至ステップＳ９を経て、ステップＳ１５へ進み、Ｙ軸方向の並進ジョグ移動のための処理が実行される。
８．このようにして、位置Ａに関する調整が完了したら、教示キー（図示省略）を押下する。すると、その時点におけるロボット（ツール先端点）の位置（当然、ツール姿勢を含む。）の位置データが作成され、不揮発性メモリ１４に格納される（この処理はフローチャートでは省略）。
９．再度ステップ移動モードとして始動キー（図示省略）を押下すると、ステップＳ３〜Ｓ１５のサイクルから抜け出して、ステップＳ１６を経て、ステップＳ１７へ進み、ロボットを位置Ｂへステップ移動させる（経路−ツールジョグモードは維持される）。但し、もし、ステップ移動モードとせずに、座標系キー４１を操作して他の座標系（例えば、ツール座標系）を選択すると、経路−ツールジョグモードの終了指令が出力されて、経路−ツールジョグモードの処理は一旦終了される。
１０．ロボットが位置Ｂに到達すると、ステップＳ３の指令待ちの状態に入る。以下、上記説明した７．〜９．の手順と同様の手順と処理によって、位置Ｂに関する位置教示が行なわれる。なお、位置Ｂは区間ＡＢ、区間ＢＣいずれに属するともみなし得る。図５には、位置Ｂを区間ＢＣに属する点とみなし、経路−ツール座標系のＸ軸の方向を経路ＢＣの方向（単位ベクトル＜ｅXBC＞の方向）にとり、Ｙ軸の方向をこれと垂直な方向（単位ベクトル＜ｅYBC＞の方向にとった場合が示されている。このケースでは、例えば、キー４２とシフトキー４６または４７を同時押下すれば、ＸBC軸周りの回転ジョグ移動のための処理が実行される（経路ＢＣについてのねらい角の調整）。同時に、キー４３とシフトキー４８または４９を同時押下すると、ＹBC軸周りの回転ジョグ移動のための処理が実行される（経路ＢＣについての前進角の調整）。
以下、同様に、位置Ｂについての調整と位置教示が完了したら、位置Ｃへロボットを移動させ、位置Ｃについての調整と位置教示を行なう。位置Ｃは終点であるから、経路ＢＣに属する点とみなす。従って、経路−ツールジョグ時の各キーの機能は、位置Ｂについての調整時と同じである。
なお、位置Ｃについての位置教示完了後に座標系キー４１を操作し、他の任意の座標系を選択することで、経路−ツールジョグモードの終了指令が出力されて（ステップＳ１２でイエス）、経路−ツールジョグモードの処理は終了される。以上、図４Ａに示したキー配列を採用した場合を例にとってキー操作と処理の手順を説明したが、キー配列についてはこれ以外に種々のものが採用可能であり、その一例を図４Ｂに示す。図４Ｂに示すキーの配列及び機能は以下の通りである。
座標系キー５１はジョグ操作時の準拠座標系を選択するキーで、従来方式によるジョグ動作時の準拠座標系（ベース座標系、ユーザ座標系、ツール座標系など三次元直交座標系及び各軸座標系）の選択に加え、経路−ツール座標系を選択出来るようになっている。
キー５３Ａ；５３Ｂ，５４Ａ：５４Ｂ，・・・・５８Ａ：５８Ｂは従来方式によるジョグ操作と本発明に従ったジョグ操作に兼用されるジョグキーで、それぞれ座標系キー５１で選択された座標系のＸ軸、Ｙ軸、Ｚ軸あるいは各軸（Ｊ１〜Ｊ６）に関連するジョグ移動の指令を出力するものである。シフトキー５２は、ジョグキー５３Ａ−５８Ｂの内の１つと同時押下することで、機能モードをシフトするキーである。具体的な使用法の概略は次の通りである。なお、図４Ａのキー配列の場合と同じく、ジョグ移動に必要なキーの同時押下を中断するとロボットはその状態で停止し、同時押下を再開すれば再度ジョグ移動が開始される。
Ａ．座標系キー５１で通常の三次元直交座標系が選択されている時；
ａ）  ジョグキー５３Ａ、５３Ｂ、５４Ａ、５４Ｂ、５５Ａ、５５Ｂの内の一つとシフトキー５２を同時押下した時には、選択されている座標系の±Ｘ軸、±Ｙ軸あるいは±Ｚ軸に沿った並進移動の指令を出力する。例えば、座標系キー５１でツール座標系が選択された状態で、ジョグキー５３Ａとシフトキー５２を同時押下すると、ツール座標系の−Ｘ軸方向に沿った並進ジョグ移動の指令が出力され、ジョグキー５４Ｂとシフトキー５２を同時押下すると、ツール座標系の＋Ｙ軸方向に沿った並進ジョグ移動の指令が出力される。
ｂ）  ジョグキー５６Ａ、５６Ｂ、５７Ａ、５７Ｂ、５８Ａ、５８Ｂの内の一つとシフトキー５２を同時押下した時には、選択されている座標系のＸ軸、Ｙ軸あるいはＺ軸周り（±方向）の回転ジョグ移動の指令を出力する。例えば、座標系キー５１でユーザ座標系が選択された状態で、ジョグキー５６Ａとシフトキー５２を同時押下するとユーザ座標系のＸ軸周り（−方向）の回転ジョグ移動の指令が出力され、ジョグキー５８Ｂとシフトキー５２を同時押下すると、ユーザ座標系のＺ軸周り（＋方向）の回転ジョグ移動の指令が出力される。
Ｂ．座標系キー５１で各軸座標系が選択されている時；
ａ）  ジョグキー５３Ａ、５４Ａ・・・５７Ａ、５８の内の一つとシフトキー５２を同時押下した時には、Ｊ１軸〜Ｊ６軸について−方向の軸送りジョグ移動の指令を出力する。例えば、ジョグキー５６Ａとシフトキー５２を同時押下するとＪ１軸（−方向）の軸送りのジョグ移動の指令が出力され、ジョグキー５７Ｂとシフトキー５２を同時押下すると、Ｊ５軸（＋方向）の軸送りのジョグ移動の指令が出力される。
これらＡ．、Ｂ．のケースでのキー操作については、従来の方式によるものと基本的に変わるところはない。本例のキー配列を用いて本発明に従ったジョグ操作を行なう場合には、座標系キー５１で「経路−ツール座標系」を選択した上で、次のようなキー使用（特に、３−２）がなされる。
Ｃ．座標系キー５１で「経路−ツール座標系」が選択されている時；
ａ）  ジョグキー５３Ａ，５３Ｂ，５４Ａ，５４Ｂ，５５Ａ，５５Ｂの内の一つとシフトキー５２を同時押下した時には、経路−ツール座標系の±Ｘ軸、±Ｙ軸あるいは±Ｚ軸に沿った並進移動の指令を出力する。例えば、ジョグキー５５Ａとシフトキー５２を同時押下すると、経路−ツール座標系の−Ｚ軸方向に沿った並進ジョグ移動の指令が出力され、ジョグキー５５Ｂとシフトキー５２を同時押下すると、経路−ツール座標系の＋Ｚ軸方向に沿った並進ジョグ移動の指令が出力される。
ｂ）  ジョグキー５６Ａ，５６Ｂ，５７Ａ，５８Ａ，５８Ｂの内の一つとシフトキー５２を同時押下した時には、経路−ツール座標系のＸ軸、Ｙ軸あるいはＺ軸周り（±方向）の回転ジョグ移動の指令を出力する。例えば、ジョグキー５６Ａとシフトキー５２を同時押下すると経路−ツール座標系のＸ軸周り（−方向）の回転ジョグ移動の指令が出力され、ジョグキー５７Ｂとシフトキー５２を同時押下すると、経路−ツール座標系Ｙ軸周り（＋方向）の回転ジョグ移動の指令が出力される。
すなわち、シフトキー５２を押しながらジョグキー５６Ａと５６Ｂの同時押下を使い分けることで前進角の調整が行なわれる。また、ねらい角の調整を行なう場合には、シフトキー５２を押しながらジョグキー５７Ａと５７Ｂの一方が同時押下する操作が用いられる。
図４Ｂに示したキー配列を用いた場合にこのような使用法によるキー操作を実行すれば、図４Ａに示したキー配列を用いた例で説明したのと同様の処理をＣＰＵ１１に行なわせることが可能なことは明らかである。
以上、アーク溶接ロボットを例にとって本発明の実施形態を説明したが、他のアプリケーションにおいても、ツールを他のもの（例；シーリングガン、スポットガン、ハンドなど）に入れ替わる点を除けば、実施形態特に本質的な差異がないことは明らかである。
以上説明したように、本発明によれば、経路方向に一致した座標軸とこれと垂直でかつツールの軸心と垂直である座標軸とを有する座標系に準拠したジョグ操作が常に可能となる。従って、簡単なジョグ操作でねらい角、前進角のようなツール姿勢を直接的に調整することが出来るようなった。本発明をツール姿勢に正確さが求められる教示作業に適用すれば、その効率と信頼性が格段に向上する。特に、アーク溶接ロボットに適用した場合、適正なねらい角、前進角を迅速に教示出来るので、アンダーカット、オーバラップ、溶け込み不足等による溶接ビード不良が容易に防止される。
【図１】
0003665344.tif 000002
【図２】
0003665344.tif 000003
【図３】
0003665344.tif 000004
【図４Ａ】
0003665344.tif 000005
【図４Ｂ】
0003665344.tif 000006
【図５】
0003665344.tif 000007
【図６Ａ】
0003665344.tif 000008
【図６Ｂ】
0003665344.tif 000009