(57)【特許請求の範囲】
【請求項１】
実空間のスポット溶接ロボットをコンピュータの仮想空間内に仮想ロボットモデルとして作成して画面上に表示し、前記画面上の仮想ロボットモデルを用いて前記スポット溶接ロボットの動作を模擬させることにより、前記スポット溶接ロボットの動作実行のためのプログラムを作成するようにしたオフライン教示法によるティーチング装置であって、
前記コンピュータに対するユーザ操作を介して、前記スポット溶接ロボットが溶接を行うワーク上の溶接打点の位置との関係において、前記スポット溶接ロボットに設けられた溶接ガンの先端に位置する溶接チップをどれだけ当該ワークから離すかを示す距離情報、前記溶接ガンを前記ワークに対して前記溶接打点の位置する側にどれだけ移動させるかを示す第１移動情報、および、前記溶接ガンを前記ワークに対して前記溶接打点の位置しない側にどれだけ移動させるかを示す第２移動情報を含む相対位置情報の入力を受け付ける相対位置入力受付手段と、
前記コンピュータに対するユーザ操作を介して、前記ワーク上の複数の前記溶接打点の位置と溶接順序、および、当該溶接打点に関する溶接動作を含む溶接打点情報の入力を前記溶接打点ごとに受け付ける溶接打点入力受付手段と、
前記相対位置入力受付手段により入力が受け付けられた前記相対位置情報および前記溶接打点入力受付手段により入力が受け付けられた前記溶接打点情報に基づいて、前記溶接打点入力受付手段により入力が受け付けられた前記溶接動作に関する前記溶接ガンの空走ポイントを決定する空走ポイント決定手段と、
前記空走ポイント決定手段により決定された前記空走ポイントに基づいて、前記溶接ガンの姿勢を維持したまま前記スポット溶接ロボットが前記溶接動作を行うための動作プログラムを生成する動作プログラム生成手段とを備えたことを特徴とするスポット溶接ロボットのティーチング装置。
【請求項２】
請求項１に記載のティーチング装置において、
前記溶接打点入力受付手段は、前記溶接順序および前記溶接打点に関する溶接動作を定義した定義ファイルを読み込むことにより、前記溶接順序および前記溶接打点に関する溶接動作の入力を受け付けることを特徴とするティーチング装置。
【請求項３】
請求項１または２に記載のティーチング装置としての機能を実現するために、前記コンピュータを、前記相対位置入力受付手段、前記溶接打点入力受付手段、前記空走ポイント決定手段、および、前記動作プログラム生成手段として機能させるティーチングプログラム。
【請求項４】
実空間のスポット溶接ロボットをコンピュータの仮想空間内に仮想ロボットモデルとして作成して画面上に表示し、前記画面上の仮想ロボットモデルを用いて前記スポット溶接ロボットの動作を模擬させることにより、前記スポット溶接ロボットの動作実行のためのプログラムを作成するようにしたオフラインによるティーチング方法であって、
前記コンピュータに対するユーザ操作を介して、前記スポット溶接ロボットが溶接を行うワーク上の溶接打点の位置との関係において、前記スポット溶接ロボットに設けられた溶接ガンの先端に位置する溶接チップをどれだけ当該ワークから離すかを示す距離情報、前記溶接ガンを前記ワークに対して前記溶接打点の位置する側にどれだけ移動させるかを示す第１移動情報、および、前記溶接ガンを前記ワークに対して前記溶接打点の位置しない側にどれだけ移動させるかを示す第２移動情報を含む相対位置情報の入力を受け付ける第１のステップと、
前記コンピュータに対するユーザ操作を介して、前記ワーク上の複数の前記溶接打点の位置と溶接順序、および、当該溶接打点に関する溶接動作を含む溶接打点情報の入力を前記溶接打点ごとに受け付ける第２のステップと、
前記第１のステップにより入力が受け付けられた前記相対位置情報および前記第２のステップにより入力が受け付けられた前記溶接打点情報に基づいて、前記第２のステップにより入力が受け付けられた前記溶接動作に関する前記溶接ガンの空走ポイントを決定する第３のステップと、
前記第３のステップにより決定された前記空走ポイントに基づいて、前記溶接ガンの姿勢を維持したまま前記スポット溶接ロボットが前記溶接動作を行うための動作プログラムを生成する第４のステップとを有することを特徴とするスポット溶接ロボットのティーチング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スポット溶接ロボットのティーチング装置およびティーチング方法に関し、特に、実空間をコンピュータの仮想空間に投影し、実空間のスポット溶接ロボットに対応する仮想ロボットモデルを仮想空間に作成し、仮想ロボットモデルを用いてスポット溶接ロボットの動作をプログラミングする技術に関するものである。
【背景技術】
【０００２】
従来、スポット溶接ロボットの先端に溶接ツール（例えば、溶接ガン）を取り付けて、この溶接ツールを予め定めた軌道に沿って移動させて所要の溶接作業を行うようにしたロボットシステムが知られている。この種のロボットシステムにおいて、スポット溶接ロボットに所要の動作を教示する教示方法としては、ＣＲＴ等の画面上でその動作をシミュレート（模擬実行）することにより、生産ラインを停止させることなくその動作実行のためのプログラムを作成する、所謂オフライン教示（ティーチング）方法がある。
【０００３】
すなわち、このオフライン教示方法は、実空間のスポット溶接ロボットをコンピュータの仮想空間内に仮想ロボットモデルとして作成してＣＲＴ等の画面上に表示し、この画面上の仮想ロボットモデルを用いてスポット溶接ロボットの動作を模擬させることにより、スポット溶接ロボットの動作確認や動作プログラムの作成を行うようにしたものである。
【０００４】
なお、作業を実行する位置を設定する手段に加えて、当該設定された位置における作業を設定する手段、最初に設定された位置を基準とした他の位置を設定する手段とを備え、基準位置に基づいて複数の位置で作業を繰り返す動作のプログラミングやティーチングが簡単に行えるようにした技術が開示されている（例えば、特許文献１を参照）。また、仮想ロボットモデルの作業部が動作する軌道の座標を仮想空間に設定し、仮想ロボットモデルの動作の確認を行い、その動作の結果を反映させて実ロボットの動作教示を行う技術が開示されている（例えば、特許文献２を参照）。
【０００５】
また、ティーチポイントおよび各ティーチポイントの通過順序などを定めた動作プログラムを作成し、作成した動作プログラムに従ってロボットモデルを動作させる作業のシミュレーションを実行する技術が開示されている（例えば、特許文献３を参照）。また、塗装ガンの移動方向一端の塗装開始点と移動方向他端の塗装終了点とを教示することにより、ワークの搬送速度と塗装ガンの移動速度とに対応した動作軌跡を設定する技術が開示されている（例えば、特許文献４を参照）。
【０００６】
また、車体の基準点の位置と塗装ロボットの基準点の位置とを表わす位置制御変数データ、および、塗装制御変数データが入力されて、それらを用いた塗装ロボットについての車体に対する塗装作業のための動作ティーチングを行う技術が開示されている（例えば、特許文献５を参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−５０６１０号公報
【特許文献２】特開２００１−２１６０１５号公報
【特許文献３】特開平９−２４４７２４号公報
【特許文献４】特開平５−２８９７２２号公報
【特許文献５】特開平５−８８７４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
搬送ロボットによる搬送作業は、ワークを取る、ロボットアームを上昇させる、ロボットアームを移動させる、ロボットアームを下降させるおよびワークを置くといった一定の動作で成り立っている。そのため、ワークを取る位置とワークを置く位置とを設定すれば、ワークを搬送する動作を容易にプログラミングすることができる。また、塗装ロボットによる塗装作業は、ロボットアームがワークに対して一定の距離を保ちながら一定の往復運動を繰り返す動作で成り立っている。そのため、塗装を開始する位置と塗装を終了する位置とを設定すれば、ワークを塗装する動作を容易にプログラミングすることができる。さらに言えば、搬送作業や塗装作業は、溶接作業に比べて、ロボットの周辺に存在する治具などが少ないため、治具との干渉を回避する動作を容易にプログラミングすることができる。
【０００９】
しかしながら、従来のオフライン教示方法では、以下の理由により、スポット溶接ロボットの動作をプログラミングするのに時間がかかるという問題があった。すなわち、スポット溶接ロボットがワークに対して溶接を行う場合、ワーク上の溶接打点に対してスポット溶接ロボットが進入する動作、溶接打点からスポット溶接ロボットが退避する動作を、溶接治具にスポット溶接ロボットが干渉しないようにティーチングしなければならない。しかも、溶接打点毎に退避したり、退避せずに複数の溶接打点を連続して溶接したりとスポット溶接ロボットの動作は複雑である。そのように複雑な動作を、干渉を考慮しながら臨機応変にティーチングしなければならない。つまり、溶接作業の複雑な動作をプログラミングするために、オペレータは、溶接ガンの連続した空走ポイントおよび動作姿勢を１つずつ手作業で設定していた。よって、たとえ特殊技能を有するオペレータといえどもスポット溶接ロボットの動作をプログラミングするのに膨大な時間を要し、スポット溶接ロボットのティーチングを容易に行うことができなかった。
【００１０】
なお、上記特許文献１に記載の技術は、基準位置に基づいて複数の位置で作業を繰り返す動作をプログラミングの対象とした技術であり、スポット溶接ロボットのように、複雑な動作をプログラミングの対象とした技術ではない。すなわち、上記特許文献１に記載の技術では上記問題点を解決することができない。
【００１１】
また、上記特許文献２に記載の技術は、実空間のロボットに対応した仮想ロボットモデルをロボットの動作機能のみを考慮して簡易に作成できるようにした技術であり、スポット溶接ロボットのティーチングを容易に行えるようにする技術ではない。すなわち、上記特許文献２に記載の技術では上記問題点を解決することができない。
【００１２】
また、上記特許文献３に記載の技術は、予め記憶された基本形状の中から、塗装対象となるワークの形状に類似した形状を選択後、ワークの大きさなどに関する寸法情報を入力すると、ワークの３次元モデルを作成するとともに、ティーチポイントおよび各ティーチポイントの通過順序を定めた動作プログラムを作成するものである。つまり、上記特許文献３に記載の技術では、限られた数のワークの形状に関する動作プログラムしか作成することができず、様々な形状のワークに関する動作プログラムを作成することができない。言い換えれば、限られた動作に関する動作プログラムしか作成できず、スポット溶接ロボットのように、複雑な動作に関する動作プログラムを上記特許文献３に記載の技術では作成することができない。すなわち、上記特許文献３に記載の技術では上記問題点を解決することができない。
【００１３】
また、上記特許文献４に記載の技術は、塗装ガンの移動方向一端の塗装開始点と移動方向他端の塗装終了点とに基づいて、塗装ガンが一定の上下運動を繰り返す塗装動作をプログラミングの対象とした技術であり、スポット溶接ロボットのように、複雑な動作をプログラミングの対象とした技術ではない。すなわち、上記特許文献４に記載の技術では上記問題点を解決することができない。
【００１４】
また、上記特許文献５に記載の技術は、車体の基準点の位置と塗装ロボットの基準点の位置とを表わす位置制御変数データ、および、塗装制御変数データに基づいて、塗装ガンが一定の運動を繰り返す塗装動作をプログラミングの対象とした技術であり、スポット溶接ロボットのように、複雑な動作をプログラミングの対象とした技術ではない。すなわち、上記特許文献５に記載の技術では上記問題点を解決することができない。
【００１５】
本発明は、このような問題を解決するために成されたものであり、特殊技能を有したオペレータでなくても、スポット溶接ロボットのティーチングを容易に行うことができ、ティーチングの作業時間を短縮することができるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
上記した課題を解決するために、本発明では、スポット溶接ロボットが溶接を行うワーク上の溶接打点の位置との関係において、スポット溶接ロボットに設けられた溶接ガンの先端に位置する溶接チップをどれだけワークから離すかを示す距離情報、溶接ガンをワークに対して溶接打点の位置する側にどれだけ移動させるかを示す第１移動情報、および、溶接ガンをワークに対して溶接打点の位置しない側にどれだけ移動させるかを示す第２移動情報を含む相対位置情報の入力を受け付ける。また、ワーク上の複数の溶接打点の位置と溶接順序、および、当該溶接打点に関する溶接動作を含む溶接打点情報の入力を溶接打点ごとに受け付ける。そして、入力を受け付けた相対位置情報と溶接打点情報とに基づいて、入力を受け付けた溶接動作に関する溶接ガンの空走ポイントを決定し、溶接ガンの姿勢を維持したままスポット溶接ロボットが溶接動作を行うための動作プログラムを生成するようにしている。
【発明の効果】
【００１７】
上記のように構成した本発明によれば、相対位置情報と溶接打点ごとの溶接打点情報とを入力するだけで、溶接動作に関する溶接ガンの進入位置や退避位置を含む空走ポイントが自動的に決定される。そのため、ユーザは、複雑な動作を行う溶接ガンの連続した空走ポイントを設定する手間を省くことができる。また、動作プログラムは溶接ガンの姿勢を維持した状態で自動生成されるため、ユーザは、空想ポイントを溶接打点ごとに設定する必要がなくなる。以上より、特殊技能を有したオペレータでなくても、スポット溶接ロボットのティーチングを容易に行うことができ、ティーチングの作業時間を短縮することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態によるティーチング装置を備えたティーチングシステムの構成例を示すブロック図である。
【図２】本実施形態による相対位置情報入力画面の例を示す図である。
【図３】本実施形態による溶接打点情報の入力を受け付ける場合における画面表示の例を示す図である。
【図４】本実施形態による溶接ガンの空走ポイントの例を示す図である。
【図５】本実施形態によるティーチング装置の動作例を示すフローチャートである。
【図６】本実施形態による定義ファイルの例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるティーチング装置１００を備えたティーチングシステム１２０の構成例を示すブロック図である。ティーチングシステム１２０は、実空間のスポット溶接ロボット（以下、スポット溶接ロボットという）の先端に溶接ガンを取り付けて、この溶接ガンを予め定めた軌道に沿って移動させて所要の溶接作業を行わせるようにしたロボットシステムに設けられるものである。図１に示すように、ティーチングシステム１２０は、ティーチング装置１００の他に、操作手段１４０およびディスプレイ１６０を備えて構成されている。
【００２０】
操作手段１４０は、ティーチング装置１００に対するユーザの指示を入力するためのものであり、例えば、キーボードまたはマウス等の入力装置を含んで構成される。ディスプレイ１６０は、ティーチング装置１００から出力された各種画面を表示する。
【００２１】
ティーチング装置１００は、動作プログラム生成機能とシミュレーション機能とを有する。動作プログラム生成機能は、スポット溶接ロボットが作業対象のワークに対して溶接を行う動作を実行するための動作プログラムを生成する機能である。シミュレーション機能は、スポット溶接ロボットに模した仮想空間内の仮想ロボットモデルをディスプレイ１６０の画面上に表示し、当該作成した動作プログラムに基づいて、画面上の仮想ロボットモデルにスポット溶接ロボットの動作を模擬させることによりスポット溶接ロボットの動作を確認する機能である。ティーチング装置１００は、これらの動作プログラム生成機能およびシミュレーション機能を実行するために、相対位置入力受付手段２００、動作環境情報記憶手段２２０、溶接打点入力受付手段２４０、空走ポイント決定手段２６０、動作プログラム生成手段２８０、動作プログラム格納手段３００および動作プログラム実行手段３２０を備えて構成されている。
【００２２】
相対位置入力受付手段２００は、操作手段１４０に対するユーザ操作を介して、スポット溶接ロボットが溶接を行うワーク上の溶接打点の位置との関係において、スポット溶接ロボットに設けられた溶接ガンの先端に位置する溶接チップをどれだけワークから離すかを示す距離情報、溶接ガンを溶接打点からワーク端面までどれだけ移動させるかを示す第１移動情報、および、溶接ガンをワーク端面から溶接打点の位置しない側にどれだけ移動させるかを示す第２移動情報から成る相対位置情報の入力を受け付ける。
【００２３】
具体的には、距離情報は、溶接ガンがワークに対して進入する動作および退避する動作を行う場合、当該溶接ガンの先端に位置する溶接チップをワークからどれだけ離すかを離間距離で特定するための情報である。ユーザは、溶接ガンの先端に位置する溶接チップをワークからどれだけ離すかについて、ワークの形状とスポット溶接ロボットの動作とを考慮し、ワークと溶接チップとが干渉しないように離間距離を決定する。
【００２４】
また、第１移動情報は、溶接打点からワーク端面までの距離を示す距離情報である。また、第２移動情報は、ワーク端面から溶接治具干渉外までの距離を示す距離情報であり、溶接治具の形状を考慮し、溶接治具と溶接ガンとが干渉しないように距離が決定される。
【００２５】
本実施形態では、相対位置入力受付手段２００は、相対位置情報を入力するための相対位置情報入力画面をディスプレイ１６０に表示し、操作手段１４０に対するユーザ操作を介して、相対位置情報の入力を受け付ける。そして、相対位置入力受付手段２００は、入力を受け付けた相対位置情報を空走ポイント決定手段２６０に出力する。
【００２６】
図２は、相対位置情報入力画面４００の例を示す図である。この相対位置情報入力画面４００には、スポット溶接ロボットが溶接を行うワーク４１０上の溶接打点４２０の位置との関係において、スポット溶接ロボットに設けられた溶接ガンの先端に位置する溶接チップをどれだけワーク４１０から離すかを示す距離情報の入力を受け付ける入力ボックス４３０、相対位置情報入力画面４００の右方向から溶接ガンが移動してくると仮定して溶接ガンをワーク４１０の端４６０から溶接打点４２０の位置する側にどれだけ移動させるかを示す第１移動情報の入力を受け付ける入力ボックス４４０、および、溶接ガンをワーク４１０の端４６０から溶接打点４２０の位置しない側にどれだけ移動させるかを示す第２移動情報を受け付ける入力ボックス４５０が設けられている。相対位置入力受付手段２００は、操作手段１４０に対するユーザ操作を介して、入力ボックス４３０〜４５０に入力された距離情報、第１移動情報および第２移動情報をそれぞれ受け付ける。
【００２７】
動作環境情報記憶手段２２０は、仮想ロボットモデル情報、仮想ワークモデル情報および仮想溶接治具モデル情報から成る動作環境情報を記憶する。仮想ロボットモデル情報は、スポット溶接ロボットに模した仮想空間内の仮想ロボットモデルの形状および各関節の動作パラメータ（例えば、可動角度）を示す。仮想ワークモデル情報は、実空間のワークに模した仮想空間内の仮想ワークモデルの形状を示す。仮想溶接治具モデル情報は、実空間の溶接治具に模した仮想空間内の仮想溶接治具モデルの形状を示す。
【００２８】
溶接打点入力受付手段２４０は、操作手段１４０に対するユーザ操作を介して、ワーク上の複数の溶接打点の位置と溶接順序、および、当該溶接打点に関する溶接動作から成る溶接打点情報の入力を溶接打点ごとに受け付ける。本実施形態では、溶接打点入力受付手段２４０は、動作環境情報記憶手段２２０に記憶されている動作環境情報に基づいて、仮想空間内の仮想ロボットモデル、仮想ワークモデルおよび仮想溶接治具モデルをディスプレイ１６０の画面上に表示し、操作手段１４０に対するユーザ操作により溶接打点情報の入力を溶接打点ごとに受け付ける。そして、溶接打点入力受付手段２４０は、入力を受け付けた溶接打点情報を空走ポイント決定手段２６０に出力する。
【００２９】
図３は、本実施形態による溶接打点情報の入力を受け付ける場合における画面表示の例を示す図である。図３（ａ）は、溶接打点の位置の入力を受け付ける場合における画面表示の例を示している。図３（ａ）において、４９０は仮想ロボットモデル、５００は仮想ロボットモデル４９０の溶接ガン、５１０は溶接ガン５００の上側に位置する溶接チップ、５２０は溶接ガン５００の先端に位置する溶接チップ、５３０は仮想ワークモデル、５４０，５５０は仮想溶接治具モデルである。
【００３０】
ユーザは、画面表示されたカーソル（図示せず）で仮想ワークモデル５３０の任意位置を指定することにより、溶接打点の位置を入力することができる。ただし、先に入力を受け付けた第１移動情報により特定される距離だけ仮想ワークモデル５３０の端から離れたライン５５５上の位置を溶接打点の位置として入力する。なお、溶接打点の位置を入力した順番がそのまま溶接打点の溶接順序となる。本実施形態では、ユーザは、溶接打点５６０、溶接打点５７０、溶接打点５８０および溶接打点５９０の順番で画面表示されたカーソルを用いて指定することにより、溶接打点の位置と溶接順序を入力したものとする。
【００３１】
図３（ｂ）は、ユーザが溶接打点の位置を入力するごとにディスプレイ１６０の画面上に表示する溶接動作選択画面を示している。図３（ｂ）に示す溶接動作選択画面には、溶接動作（進入→加圧→退避）を選択するためのボタン６００、溶接動作（進入→加圧）を選択するためのボタン６１０、溶接動作（加圧→退避）を選択するためのボタン６２０、溶接動作（加圧のみ（連続打点））を選択するためのボタン６３０が設けられている。ユーザは、ボタン６００〜６３０の中から何れかのボタンを選択することにより、図３（ａ）の画面で入力した溶接打点５６０〜５９０に関する溶接動作を入力する。
【００３２】
本実施形態では、ユーザは、図３（ａ）の溶接打点５６０（連続打点の最初）に関する溶接動作として、溶接動作（進入→加圧）を入力したものとする。これは、溶接ガンがホームポジション（作業原点位置）から溶接打点５６０の位置まで進入する必要がある一方、溶接打点５６０と次の溶接打点５７０との間に仮想溶接治具モデルが存在しないため、仮想溶接治具モデルを回避するための退避動作が不要だからである。また、ユーザは、図３（ａ）の溶接打点５７０（連続打点）に関する溶接動作として、溶接動作（加圧のみ（連続打点））を入力したものとする。これは、溶接打点５７０と次の溶接打点５８０との間に仮想溶接治具モデルが存在しないため、仮想溶接治具モデルを回避するための退避動作が不要だからである。
【００３３】
また、ユーザは、図３（ａ）の溶接打点５８０（連続打点の最後）に関する溶接動作として、溶接動作（加圧→退避）を入力したものとする。これは、溶接打点５８０と次の溶接打点５９０との間に仮想溶接治具モデル５４０が存在するため、仮想溶接治具モデル５４０を回避するための退避動作が必要だからである。また、ユーザは、図３（ａ）の溶接打点５９０（最後の打点）に関する溶接動作として、溶接動作（進入→加圧→退避）を入力したものとする。これは、溶接ガンが溶接打点５９０で加圧した後にホームポジションに移動するためである。
【００３４】
図３（ｃ）は、図３（ｂ）に示す溶接動作選択画面においてユーザが溶接打点に関する溶接動作を入力するごとに表示する溶接打点確認画面を示している。図３（ｃ）に示す溶接打点確認画面には、次の溶接打点情報を入力するためのボタン６４０、溶接打点情報の入力を完了するためのボタン６５０が設けられている。ユーザがボタン６４０を選択した場合、溶接打点入力受付手段２４０は、図３（ｃ）の溶接打点確認画面から図３（ａ）に示す画面に遷移させて、次の溶接打点情報の入力を受け付ける。また、ユーザがボタン６５０を選択した場合、溶接打点入力受付手段２４０は、溶接打点情報の入力を受け付ける処理を終了する。
【００３５】
空走ポイント決定手段２６０は、相対位置入力受付手段２００から出力された相対位置情報および溶接打点入力受付手段２４０から出力された溶接打点情報に基づいて、溶接打点入力手段２４０により入力が受け付けられた溶接動作に関する溶接ガンの空走ポイントを決定する。そして、空走ポイント決定手段２６０は、決定した空走ポイントを示す空走ポイント情報を動作プログラム生成手段２８０に出力する。
【００３６】
図４は、本実施形態による溶接ガンの空走ポイントの例を示す図である。図４において、７００は仮想ワークモデル（図３（ａ）の仮想ワークモデル５３０に対応）、７１０は仮想溶接治具モデル（図３（ａ）の仮想溶接治具モデル５４０に対応）、７２０は仮想溶接治具モデル（図３（ａ）の仮想溶接治具モデル５５０に対応）、７３０は最初の溶接打点（図３（ａ）の溶接打点５６０に対応）、７４０は２つ目の溶接打点（図３（ａ）の溶接打点５７０に対応）、７５０は３つ目の溶接打点（図３（ａ）の溶接打点５８０に対応）、７６０は最後の溶接打点（図３（ａ）の溶接打点５９０に対応）を示している。
【００３７】
まず、空走ポイント決定手段２６０は、最初の溶接打点７３０に関する溶接動作は「進入→加圧」であるため、距離情報で特定される離間距離だけ溶接ガンを開いた状態で溶接ガンをホームポジション７７０から空走ポイント７８０および空走ポイント７９０を通って溶接打点７３０の位置まで移動させた後、溶接ガンを閉じて溶接打点７３０を加圧するという各空走ポイントを決定する。なお、空走ポイント７８０は、溶接打点７３０の位置を基準として、第１移動情報および第２移動情報により特定される。また、空走ポイント７９０は、溶接打点７３０の位置を基準として、第１移動情報により特定される。
【００３８】
次に、空走ポイント決定手段２６０は、２つ目の溶接打点７４０に関する溶接動作は「加圧のみ（連続打点）」であるため、距離情報で特定される離間距離だけ溶接ガンを開いた状態で溶接ガンを溶接打点７３０の位置から溶接打点７４０の位置まで平行に移動させた後、溶接ガンを閉じて溶接打点７４０を加圧するという各空走ポイントを決定する。
【００３９】
次に、空走ポイント決定手段２６０は、３つ目の溶接打点７５０に関する溶接動作は「加圧→退避」であるため、距離情報で特定される離間距離だけ溶接ガンを開いた状態で溶接ガンを溶接打点７４０の位置から溶接打点７５０の位置まで平行に移動させた後、溶接ガンを閉じて溶接打点７５０を加圧するという各空走ポイントを決定する。さらに、空走ポイント決定手段２６０は、距離情報で特定される離間距離だけ溶接ガンを開いた状態で溶接ガンを溶接打点７５０の位置から空走ポイント８００を通って空走ポイント８１０まで移動するという各空走ポイントを決定する。空走ポイント８００は、溶接打点７５０の位置を基準として、第１移動情報により特定される。空走ポイント８１０は、溶接打点７５０の位置を基準として、第１移動情報および第２移動情報により特定される。
【００４０】
最後に、空走ポイント決定手段２６０は、最後の溶接打点７６０に関する溶接動作は「進入→加圧→退避」であるため、距離情報で特定される離間距離だけ溶接ガンを開いた状態で溶接ガンを空走ポイント８１０から空走ポイント８２０、空走ポイント８３０を通って溶接打点７６０の位置まで移動させた後、溶接ガンを閉じて溶接打点７６０を加圧するという各空走ポイントを決定する。空走ポイント８２０は、溶接打点７６０の位置を基準として、第１移動情報および第２移動情報により特定される。空走ポイント８３０は、溶接打点７６０の位置を基準として、第１移動情報により特定される。さらに、空走ポイント決定手段２６０は、距離情報で特定される離間距離だけ溶接ガンを開いた状態で溶接ガンが溶接打点７６０の位置から空走ポイント８３０および空走ポイント８２０を通ってホームポジション７７０に戻るという各空走ポイントを決定する。
【００４１】
動作プログラム生成手段２８０は、空走ポイント決定手段２６０から出力された空走ポイント情報に基づいて、溶接ガンの姿勢を維持したままスポット溶接ロボットが溶接動作を行うための動作プログラム（図示しないスポット溶接ロボットの制御装置が解釈可能なプログラム）を生成する。溶接ガンの姿勢は、スポット溶接ロボットの領域や生産性を考慮して、ユーザによって事前に設定される。そして、動作プログラム生成手段２８０は、生成した動作プログラムを動作プログラム格納手段３００に格納する。
【００４２】
動作プログラム実行手段３２０は、操作手段１４０に対するユーザ操作を介して動作プログラムの実行を要求する操作が行われたときに、動作プログラム格納手段３００に格納されている動作プログラムを取り出して実行する。具体的には、動作プログラム実行手段３２０は、動作環境情報記憶手段２２０に記憶されている動作環境情報に基づいて、仮想空間内の仮想ロボットモデル、仮想ワークモデルおよび仮想溶接治具モデルをディスプレイ１６０の画面上に表示し、仮想ロボットモデルを動作プログラム格納手段３００から取り出した動作プログラムに従って動作させる。スポット溶接ロボットの動作をディスプレイ１６０の画面上で模擬する仮想ロボットモデルを見たユーザは、溶接ガンとワークおよび溶接治具との干渉の有無などスポット溶接ロボットの動作の妥当性をオフラインで確認することができる。
【００４３】
次に、本実施形態のティーチング装置１００の動作について説明する。図５は、本実施形態によるティーチング装置１００の動作例を示すフローチャートである。図５に示すフローチャートは、ティーチング装置１００が、操作手段１４０に対するユーザ操作を介してティーチングの実行を要求する操作を受け付けることにより開始する。
【００４４】
まず、相対位置入力受付手段２００は、相対位置情報を入力するための相対位置情報入力画面をディスプレイ１６０に表示し、操作手段１４０に対するユーザ操作により相対位置情報の入力を受け付ける（ステップＳ１００）。そして、相対位置入力受付手段２００は、入力を受け付けた相対位置情報を空走ポイント決定手段２６０に出力する。
【００４５】
次に、溶接打点入力受付手段２４０は、操作手段１４０に対するユーザ操作を介して、ワーク上の溶接打点の位置の入力を受け付ける（ステップＳ１２０）。次に、溶接打点入力受付手段２４０は、操作手段１４０に対するユーザ操作を介して、ステップＳ１２０にて入力を受け付けた溶接打点に関する溶接動作の入力を受け付ける（ステップＳ１４０）。次に、溶接打点入力受付手段２４０は、操作手段１４０に対するユーザ操作を介して、次の溶接打点情報の入力があるか（すなわち、図３（ｃ）の溶接打点確認画面においてボタン６４０が選択されたか）否かについて判定する（ステップＳ１６０）。もし、次の溶接打点情報の入力があると溶接打点入力受付手段２４０にて判定した場合（ステップＳ１６０にてＹＥＳ）、処理はステップＳ１２０に遷移する。
【００４６】
一方、次の溶接打点情報の入力がない（すなわち、図３（ｃ）の溶接打点確認画面においてボタン６５０が選択された）と溶接打点入力受付手段２４０にて判定した場合（ステップＳ１６０にてＮＯ）、溶接打点入力受付手段２４０は、入力を受け付けた溶接打点情報を空走ポイント決定手段２６０に出力する。次に、空走ポイント決定手段２６０は、相対位置入力受付手段２００から出力された相対位置情報および溶接打点入力受付手段２４０から出力された溶接打点情報に基づいて、溶接ガンの空走ポイントを決定する（ステップＳ１８０）。そして、空走ポイント決定手段２６０は、決定した空走ポイントを示す空走ポイント情報を動作プログラム生成手段２８０に出力する。
【００４７】
次に、動作プログラム生成手段２８０は、空走ポイント決定手段２６０から出力された空走ポイント情報に基づいて、溶接ガンの姿勢を維持したままスポット溶接ロボットが溶接動作を行うための動作プログラムを生成する（ステップＳ２００）。そして、動作プログラム生成手段２８０は、生成した動作プログラムを動作プログラム格納手段３００に格納する。
【００４８】
次に、動作プログラム実行手段３２０は、操作手段１４０に対するユーザ操作を介して、動作プログラムの実行を要求する操作が行われたか否かについて判定する（ステップＳ２２０）。もし、動作プログラムの実行を要求する操作が行われていないと動作プログラム実行手段３２０にて判定した場合（ステップＳ２２０にてＮＯ）、処理はステップＳ２２０に遷移する。
【００４９】
一方、動作プログラムの実行を要求する操作が行われたと動作プログラム実行手段３２０にて判定した場合（ステップＳ２２０にてＹＥＳ）、動作プログラム実行手段３２０は、動作プログラム格納手段３００に格納されている動作プログラムを取り出して実行する（ステップＳ２４０）。ステップＳ２４０の処理が完了することにより、ティーチング装置１００は図５における処理を終了する。
【００５０】
以上詳しく説明したように、本実施形態では、距離情報、第１移動情報および第２移動情報から成る相対位置情報の入力を受け付けるとともに、ワーク上の複数の溶接打点の位置と溶接順序、および、当該溶接打点に関する溶接動作から成る溶接打点情報の入力を溶接打点ごとに受け付ける。そして、入力を受け付けた相対位置情報と溶接打点情報とに基づいて、溶接動作に関する溶接ガンの空走ポイントを決定し、溶接ガンの姿勢を維持したままスポット溶接ロボットが溶接動作を行うための動作プログラムを生成するようにしている。
【００５１】
このように構成した本実施形態によれば、相対位置情報と溶接打点ごとの溶接打点情報とを入力するだけで、溶接動作に関する溶接ガンの空走ポイントが自動的に決定される。そのため、ユーザは、複雑な動作を行う溶接ガンの連続した空走ポイントを設定する手間を省くことができる。また、動作プログラムは溶接ガンの姿勢を維持した状態で自動生成されるため、ユーザは、空走ポイントを溶接打点ごとに設定する必要がなくなる。以上より、特殊技能を有したオペレータでなくても、スポット溶接ロボットのティーチングを容易に行うことができ、ティーチングの作業時間を短縮することができる。
【００５２】
以上に説明した本実施形態によるティーチング装置１００の機能は、ソフトウェアによって実現される。実際には、ティーチング装置１００がコンピュータのＣＰＵあるいはＭＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって実現できる。したがって、コンピュータが上記本実施形態の機能を果たすように動作させるプログラムを例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものである。
【００５３】
上記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、ＤＶＤ、不揮発性メモリカード等を用いることができる。また、上記プログラムをインターネット等のネットワークを介してコンピュータにダウンロードするようにしても良い。
【００５４】
また、コンピュータが供給されたプログラムを実行することにより上述の実施形態の機能が実現されるだけでなく、そのプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合や、供給されたプログラムの処理の全てあるいは一部がコンピュータの機能拡張ボードや機能拡張ユニットにより行われて上述の実施形態の機能が実現される場合も、かかるプログラムは本発明の実施形態に含まれる。
【００５５】
なお、上記実施形態において、溶接打点入力受付手段２４０は、溶接打点の溶接順序および当該溶接打点に関する溶接動作を定義した定義ファイルを読み込むことにより、溶接打点の溶接順序および当該溶接打点に関する溶接動作の入力を受け付けるようにしても良い。
【００５６】
図６（ａ）は、定義ファイルの例を示す図である。図６（ａ）に示すように、定義ファイルには、溶接打点の順序に従って、溶接打点Ａ〜Ｄに関する溶接動作フラグを上から記述していく。溶接動作フラグは、溶接打点に関する溶接動作を識別するフラグである。図６（ｂ）に示すような溶接動作フラグと溶接動作との間の対応関係を規定した対応テーブルを参照することにより、溶接動作フラグに対応する溶接動作を特定することができる。なお、溶接打点の位置を示す位置情報は、動作環境情報記憶手段２２０に記憶されているものとする。
【００５７】
この場合、溶接打点入力受付手段２４０は、図６（ｂ）の対応テーブルを自身の内部メモリに保持しておき、定義ファイルを読み込んだときに当該保持している対応テーブルを参照する。また、溶接打点入力受付手段２４０は、動作環境情報記憶手段２２０に記憶されている位置情報を参照することにより、定義ファイルに記述されている溶接打点の位置を特定する。このようにすれば、ユーザは、溶接打点の溶接順序および当該溶接打点に関する溶接動作フラグを１つの定義ファイルにまとめて記述しておくだけで、全ての溶接打点の溶接打点情報を入力することができる。そのため、ユーザは、溶接打点ごとに図３（ａ）〜（ｃ）に示す各種画面を介して溶接打点情報を入力する手間を削減することができる。
【００５８】
また、上記実施形態では、相対位置入力受付手段２００は、相対位置情報の入力を１回だけ受け付ける例について説明したが、本発明はこれに限定されない。例えば、相対位置入力受付手段２００は、溶接打点ごとに相対位置情報の入力を受け付けるようにしても良い。このようにすれば、溶接打点ごとにワークの形状、溶接治具の形状に応じて溶接ガンの空走ポイントを細かく決定することができる。そのため、ワークの形状および溶接治具と溶接ガンとの干渉をより確実に回避可能な動作プログラムを生成することができる。
【００５９】
また、相対位置入力受付手段２００は、各溶接打点に共通の相対位置情報の入力を受け付けた後、ユーザが所望する溶接打点に関する相対位置情報の入力を個別に受け付けるようにしても良い。この場合、ユーザが所望する溶接打点については、個別に入力した相対位置情報が適用される。一方、ユーザが所望する溶接打点以外の溶接打点については、共通の相対位置情報が適用される。
【００６０】
また、スポット溶接ロボットが複数のワークに対して溶接を行う動作を実行するための動作プログラムを生成する場合には、相対位置入力受付手段２００は、ワークごとに相対位置情報の入力を受け付けるようにしても良い。このようにすれば、ワークごとにワークの形状、溶接治具の形状に応じて溶接ガンの空走ポイントを細かく決定することができる。
【００６１】
また、上記実施形態では、操作手段１４０に対するユーザ操作を介して動作プログラムを実行する操作が行われた場合に限り、動作プログラム実行手段３２０が動作プログラム格納手段３００に格納されている動作プログラムを取り出して実行する例について説明したが、本発明はこれに限定されない。例えば、動作プログラム生成手段２８０が動作プログラムを動作プログラム格納手段３００に格納した後、動作プログラム実行手段３２０が自動的に動作プログラム格納手段３００に格納されている動作プログラムを取り出して実行するようにしても良い。
【００６２】
また、上記実施形態では、溶接打点の位置の入力を受け付けた順番に従って、溶接打点の溶接順序の入力を自動的に受け付ける例について説明したが、本発明はこれに限定されない。例えば、溶接打点の位置の入力を受け付けるごとに、当該溶接打点の溶接順序の入力を受け付けるようにしても良い。
【００６３】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００６４】
１００  ティーチング装置
２００  相対位置入力受付手段
２４０  溶接打点入力受付手段
２６０  空走ポイント決定手段
２８０  動作プログラム生成手段
３２０  動作プログラム実行手段
【図１】
0005606816.tif 000002
【図２】
0005606816.tif 000003
【図３】
0005606816.tif 000004
【図４】
0005606816.tif 000005
【図５】
0005606816.tif 000006
【図６】
0005606816.tif 000007