(58)【調査した分野】(Int.Cl.,DB名)
前記マスタープログラム取得手段により取得される前記マスタープログラムは、教示点の少なくとも一部が前記第1の基準点、前記第2の基準点および前記第3の基準点のいずれかに連動する参照点として設定され、
前記教示データ作成手段は、前記第1の基準点、前記第2の基準点および前記第3の基準点のいずれかの位置を変更する場合に、位置を変更する基準点に連動する前記参照点として設定された教示点の位置を、当該基準点との相対関係が変化しないように変更することを特徴とする、請求項1に記載の教示データの作成システム。
前記入力受け付け手段が前記第1の基準点の位置の変更指示を受け付けた場合、前記教示データ作成手段は、当該第1の基準点の位置を当該変更指示にしたがって変更すると共に、前記第2の基準点および前記第3の基準点の位置を、当該第1の基準点との相対関係が変化しないように変更することを特徴とする、請求項1または請求項2に記載の教示データの作成システム。
前記入力受け付け手段が前記第2の基準点の位置の変更指示を受け付けた場合、前記教示データ作成手段は、当該第2の基準点の位置を当該変更指示にしたがって変更すると共に、前記第3の基準点の位置を、当該第2の基準点との相対関係が変化しないように変更することを特徴とする、請求項1乃至請求項3の何れかに記載の教示データの作成システム。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
本実施の形態では、溶接ロボットシステムにおける教示データの作成システムを例として説明する。
〔システム構成〕
図1は、本実施の形態に係る教示システムを含む溶接ロボットシステムの概略構成を示す図である。
図1に示すように、溶接ロボットシステムは、ロボット(マニピュレータ)10と、ロボット10を制御する制御装置(コントローラ)20と、教示データを入力する教示装置30とを備える。また、教示データを作成し制御装置20に提供する教示システムは、例えばコンピュータシステムにより実現される教示データ編集装置40にて構成される。制御装置20と教示データ編集装置40とは、ネットワーク(例えば無線LAN)を介して情報通信可能に接続されている。これにより、教示データ編集装置40により作成された教示データを制御装置20へ送信し、教示データの作成に必要なロボット10の情報を制御装置20から教示データ編集装置40へ送信することができる。
【0012】
ロボット10は、複数の関節を有する腕(アーム)を備え、教示データに基づく各種の作業を行う。例えば、アーク溶接ロボットシステムの場合、腕の先端には、対象物の溶接作業を行うための溶接トーチ11が設けられる。制御装置20は、教示データを記憶する記憶装置(メモリ)と、教示データを読み込んでロボット10の動作を制御する処理装置(CPU)とを備える。教示装置30は、ロボット10の教示作業の際に、操作者が溶接経路や溶接作業条件等を入力するために使用される。教示装置30は、液晶ディスプレイなどにより構成された表示画面31と、入力ボタン32とを備えている。
【0013】
制御装置20は、ロボット10に対するインターフェイスおよび教示装置30に対するインターフェイスを有し、これらを介してロボット10および教示装置30と接続される。また、制御装置20は、ネットワーク・インターフェイスを備えており、これにより教示データ編集装置40とデータ交換を行うことができる。
【0014】
〔教示データ編集装置のハードウェア構成〕
図2は、教示データ編集装置40のハードウェア構成例を示す図である。
図2に示すように、教示データ編集装置40は、演算手段であるCPU(Central Processing Unit)101と、主記憶手段であるメモリ102を備える。また、外部デバイスとして、画像表示機構(ビデオカード等)103および表示装置104と、磁気ディスク装置(HDD:Hard Disk Drive)105と、キーボードやマウス等の入力デバイス106等を備える。また、制御装置20とデータ交換を行うためのネットワーク・インターフェイス107を備える。なお、
図2は、教示データ編集装置40をコンピュータシステムにて実現した場合のハードウェア構成を例示するに過ぎず、教示データ編集装置40は図示の構成に限定されない。
【0015】
〔教示データ編集装置の機能構成〕
図3は、教示データ編集装置40の機能構成例を示す図である。
図3に示すように、教示データ編集装置40は、マスタープログラム管理部41と、UI制御部42と、位置情報取得部43と、実行データ作成部44と、実行データ送信部45と、を備える。
【0016】
マスタープログラム管理部41は、本実施の形態においてロボット10に実行させるための教示データ(以下、実行データ)を作成するために用いられるマスタープログラムを保持し、管理する。ここで、マスタープログラムは、教示データを抽象化して個別のワークに依存しないように構成したデータ(プログラム)である。このマスタープログラムは、例えば、継手の種類ごとに用意され、フォルダ(ディレクトリ)等により分類されてマスタープログラム管理部41に管理される。マスタープログラムの詳細については後述する。
【0017】
UI制御部42は、入力受け付け手段であり、対象となるマスタープログラムおよびロボット10を特定し、このロボット10に実行させる実行データを作成する処理を行うためのユーザ・インターフェイスを提供し、制御する。具体的には、例えば、UI(ユーザ・インターフェイス)画面を生成して表示手段(例えば、
図2に示した表示装置104)に表示させ、このUI画面上での操作によりユーザが入力した指示を受け付ける。
【0018】
位置情報取得部43は、UI制御部42により受け付けられた指示にしたがって起動し、制御装置20からロボット10の現在位置の情報を取得する。ここで、ロボット10の現在位置とは、ロボット10において設定された原点位置を基準とするロボットアーク点(制御点、溶接ワイヤーの先端)の位置であり、例えば3次元座標系を用いて(rx,ry,rz)等のように表される。また、システムの構成にスライダが含まれる場合、スライダの原点位置を基準とするロボットアーク点の位置が現在位置となる。この場合、スライダの原点に対するロボット10の原点位置を上記と同じ(ただし原点が異なる)3次元座標系を用いて(sx,sy,sz)とすると、ロボット10の現在位置は、(rx+sx,ry+sy,rz+sz)と表される。なお、システムの構成にスライダが含まれない場合の座標値をrx=ry=rz=0で表すとすれば、一般的に、座標値(rx+sx,ry+sy,rz+sz)でロボット10の現在位置を表すことができる。
実行データ作成部44は、UI制御部42により受け付けられた指示にしたがって起動し、マスタープログラムおよび位置情報取得部43により取得されたロボット10の現在位置の情報に基づいて、このロボット10に実行させる実行データを作成する。マスタープログラムを編集して実行データを作成する処理の詳細については後述する。
実行データ送信部45は、UI制御部42により受け付けられた指示にしたがって起動し、実行データ作成部44により作成された実行データを制御装置20に送信する。
【0019】
〔マスタープログラムの内容〕
本実施の形態において実行データを作成するために用いられるマスタープログラムは、作業対象となる個別のワークに依存せずに、作業におけるロボット10の動作を抽象的に記述するものである。本実施の形態のマスタープログラムにおいては、マスター基準点、開始基準点、終了基準点という三つの基準点を設定し、これにより、ロボット10による作業が行われる範囲(作業範囲)を特定する。これらの基準点は、マスタープログラムの元になる教示データに、特定の命令(以下、変換形式命令)を記述することにより設定される。変換形式命令の詳細については後述する。
【0020】
マスター基準点とは、マスタープログラムにより設定される仮想的な空間の原点を示す点である。
開始基準点とは、溶接線の開始側の基準位置を示す点である。
終了基準点とは、溶接線の終了側の基準位置を示す点である。
これらの基準点により、具体的なワークに依存せずに、空間とその空間における溶接線とが特定される。また、マスタープログラムから実行データを作成する際に、これらの基準点を操作することにより、溶接線を変形したり位置を変えたりすることができる。なお、詳しくは後述するが、基準点は、いずれかの教示点と一致する点である場合もあるし、いずれの教示点とも一致しない点である場合もある。
【0021】
図4は、三つの基準点の関係を説明する図である。
図4(a)に示すように三つの基準点が設定された場合を考える。
図4(a)において、点Bpがマスター基準点、点Bsが開始基準点、点Beが終了基準点である。このとき、
図4(b)に示すように、マスター基準点を移動させると(Bp→Bp’)、三つの基準点Bp、Bs、Beの相対位置(相対関係)は変化せずに、各基準点およびこれにより表される溶接線全体が、マスター基準点の移動に伴って移動する(Bp、Bs、Be→Bp’、Bs’、Be’)。
また、
図4(c)に示すように、開始基準点を移動させると(Bs→Bs’)、開始基準点Bsと終了基準点Beとの相対位置は変化せず、これらの基準点およびこれにより表される溶接線が、マスター基準点Bpに対して移動する(Bs、Be→Bs’、Be’)。
また、
図4(d)に示すように、終了基準点を移動させると(Be→Be’)、マスター基準点Bpおよび開始基準点Bsは移動せず、これらの基準点に対する終了基準点の相対位置のみが変化する(Be→Be’)。このため、溶接線の長さや方向が変化する。
【0022】
また、本実施の形態のマスタープログラムでは、教示点のいくつかが、上記三つの基準点の何れかに属す参照点として設定される。すなわち、マスター基準点に属すマスター参照点、開始基準点に属す開始参照点、終了基準点に属す終了参照点が設定される。各参照点は、自身が属す基準点に対する相対位置が固定されており、基準点が移動すると、これに伴って移動する。これらの参照点は、マスタープログラムの元になる教示データに、特定の命令(変換形式命令)を記述することにより設定される。変換形式命令の詳細については後述する。
【0023】
図5は、参照点(教示点)の移動方法を説明する図である。
上記のように、参照点は、自身が属す基準点の移動に連動する。図示の例では、マスター基準点の移動(Bp→Bp’)に伴って、マスター基準点に属す参照点が移動している(p1、p2→p1’、p2’)。参照点の移動後の位置は、基準点の移動後の位置に基づいて特定される。具体的には、基準点の移動ベクトルを(基準点の移動後の位置−基準点の移動前の位置)で求め、この移動ベクトルを移動前の参照点の位置(座標値)に加算することにより求めることができる。
【0024】
参照点の移動方法としては、
図5(a)に示すように、ロボット10の位置を変えずにロボット10の先端部の動作により対応する方法(以下、ロボット移動)と、
図5(b)に示すように、ロボット10の姿勢は変えずにスライダ(不図示)を動作させてロボット10の位置を移動させる方法(以下、スライダ移動)とがある。ロボット移動の場合は、ロボット10の先端部の位置(例えば、上記ロボット10の現在位置の説明において述べた座標値(rx,ry,rz))に上記の基準点の移動ベクトルを加算して移動先の位置を特定する。一方、スライダ移動の場合は、スライダの位置(例えば、上記ロボット10の現在位置の説明において述べた座標値(sx,sy,sz))に上記の基準点の移動ベクトルを加算して移動先の位置を特定する。また、これらの移動方法を組み合わせて用いても良い。どのような移動方法を採用するかは、ロボット10のシステム構成等に基づいて適宜に定め得る。
【0025】
また、本実施の形態のマスタープログラムでは、上記三つの基準点および参照点のいずれにも該当しない教示点を固定教示点と呼ぶ。固定教示点は、基準点および基準点に連動する参照点が移動した場合にも移動しない。したがって、マスタープログラムから作成された実行データにおいて、固定教示点の位置は、マスタープログラムにおける対応する固定教示点の位置と変わらない。したがって、マスタープログラムにおいて、固定教示点に対しては、変換形式命令は設定されない。
【0026】
次に、基準点の設定の仕方について説明する。
本実施の形態では、基準点の設定方法として、次の三つの方法が可能である。なお、ここでは、各基準点の変換形式命令を下記のように記述するものとする。
マスター基準点「 ; #BASEP{,options}」
開始基準点「; #BSTART{,options}」
終了基準点「; #BEND{,options}」
【0027】
(1)基準点を教示点として追加する方法
第1の方法は、マスタープログラムの元になる教示データ(以下、元教示データ)に、その元教示データにおける動作の教示点とは別に、基準点としての教示点を追加設定する方法である。元教示データにおいて、基準点として追加された教示点(追加教示点)に変換形式命令を記述することにより、追加教示点の座標を基準点の位置とする。
【0028】
図6は、第1の方法による基準点の設定方法を説明する図である。
図6(a)に示す例では、ロボット10の動作のための教示点p1〜p7に加えて、マスター基準点としての追加教示点Bp、開始基準点としての追加教示点Bs、終了基準点としての追加教示点Beが設定されている。そして、
図6(b)に示すマスタープログラム100において、8番目の教示点を示すステップ8にマスター基準点の変換形式命令が記述され、9番目の教示点を示すステップ9に開始基準点の変換形式命令が記述され、10番目の教示点を示すステップ10に終了基準点の変換形式命令が記述されている(太字部分)。なお、通常、実行データでは、基準点として設けられたこれらの教示点は不要であるため、図示のように、変換形式命令のoptionsに、「DEL」を指定し、実行データから削除するようにしても良い。
【0029】
(2)基準点の位置を数値で指定する方法
第2の方法は、元教示データの0ステップに、基準点の位置を数値で指定する変換形式命令を設定する方法である。この場合、変換形式命令のoptionsに、ロボット軸座標(X,Y,Z)とスライダ座標(SX,SY,SZ)を加算した座標「X+SX座標値,Y+SY座標値,Z+SZ座標値」を指定する。
【0030】
図7は、第2の方法による基準点の設定方法を説明する図である。
図7(a)に示す例では、ロボット10の動作のための教示点p1〜p7とは別に、マスター基準点Bp、開始基準点Bs、終了基準点Beが設定されている。そして、
図7(b)に示すマスタープログラム100において、ステップ0の最後の3行に、マスター基準点、開始基準点、終了基準点を示す変換形式命令がそれぞれ記述されている(太字部分)。また、各基準点の変換形式命令のoptionsに、マスター基準点Bp、開始基準点Bs、終了基準点Beを示すための座標値が記述されている。
【0031】
(3)基準点を動作教示点に含めて設定する方法
第3の方法は、元教示データにおいて、元々作業における動作のために設定された教示点を基準点として設定する方法である。この場合、基準点のX、Y、Z座標軸をそれぞれ個別に設定できる。optionsに、X,Y,Zの順で設定する軸名を並べ、それぞれを「,」で区切る。座標値を設定しない軸は空白とする。
【0032】
図8は、第3の方法による基準点の設定方法を説明する図である。
図8(a)に示す例では、教示点p3をマスター基準点Bpおよび開始基準点Bsとして設定し、教示点p5を終了基準点Beとして設定している。そして、
図8(b)に示すマスタープログラム100において、3番目の教示点を示すステップ3にマスター基準点の変換形式命令および開始基準点の変換形式命令が記述されている(太字部分)。また、3番目の教示点p3と5番目の教示点p5のX座標値およびZ座標値が共通することに基づき、終了基準点の変換形式命令は、3番目の教示点を示すステップ3および5番目の教示点を示すステップ5に記述され、ステップ3においてX座標値およびZ座標値が設定され、ステップ5においてY座標値が設定されている(太字部分)。
【0033】
次に、参照点の設定方法について説明する。
参照点は、元教示データの該当する教示点のステップに、参照点を設定するための変換形式命令を記述することにより設定される。ここでは、各参照点の変換形式命令を下記のように記述するものとする。
マスター参照点「; #BREF,{X/SX},{Y/SY},{Z/SZ}」
開始参照点「; #SREF,{X/SX},{Y/SY},{Z/SZ}」
終了参照点「; #EREF,{X/SX},{Y/SY},{Z/SZ}」
なお、「X,Y,Z」はロボット移動を指定する記述であり、「SX,SY,SZ」はスライダ移動を指定する記述である。また、これらの移動を混在させて設定することも可能である。
【0034】
図9は、参照点の設定例を示す図である。
図9に示すマスタープログラム100において、1番目の教示点を示すステップ1にマスター参照点の変換形式命令が記述され、2番目〜4番目の教示点を示すステップ2〜ステップ4に開始参照点の変換形式命令が記述され、5番目、6番目の教示点を示すステップ5、ステップ6に終了参照点の変換形式命令が記述されている(太字部分)。すなわち、1番目の教示点がマスター参照点、2番目の教示点が開始参照点、5番目の教示点が終了参照点として設定されている。また、この例では、参照点の移動は、いずれもロボット移動によるものとなっている。
【0035】
図10は、参照点の他の設定例を示す図である。
図10に示すマスタープログラム100において、2番目の教示点を示すステップ2、3番目の教示点を示すステップ3、4番目の教示点を示すステップ4に、それぞれ開始参照点の変換形式命令が記述されており、各教示点が開始参照点として設定されている(太字部分)。そして、この例では、ステップ2の開始参照点に対してはロボット移動が指定され、ステップ3の開始参照点に対してはスライダ移動が指定されている。また、ステップ4の開始参照点に対しては、X軸およびZ軸についてはロボット移動、Y軸についてはスライダ移動とすることが指定されている。
【0036】
また、本実施の形態のマスタープログラムでは、実行データの作成において教示点間の距離が長くなることを防ぐため、挿入点を設定することができる。例えば、教示点間の距離に指定距離を設定しておき、基準点を移動した結果いずれかの教示点の間の距離が指定距離よりも長くなった場合に、指定距離ごとに教示点を挿入することができる。ロボット10は、再生時にアーク倣い等のセンシング情報を教示点に保持するが、教示点間の距離が長いと、センシング情報による補正が滑らかに行われなくなる。そこで、上記のように挿入点を設定し、教示点間の距離が所定の長さ(指定距離)よりも長くなることを防止している。
【0037】
また、本実施の形態のマスタープログラムでは、実行データの作成において基準点を移動しないで教示点を移動することが可能である。この場合、外部加算点と呼ぶ点を設定する。例えば、フランジ上面とダイアフラム側面が交差した位置に基準点を設定し、プログラム溶接区間の教示点が基準点から板厚分下がったところに作成される場合において、板厚を外部加算点で指定するようにすると、基準点の位置を変更することなく、外部加算点の設定のみで異なる板厚に対応するマスタープログラムを作成できる。
【0038】
〔実行データの作成手法〕
次に、上記のように構成されたマスタープログラムから実行データを作成する手法について説明する。
本実施の形態による教示データ編集装置40の実行データ作成部44は、マスタープログラム取得手段として機能し、作成しようとする実行データの対象のワークに基づいて選択されたマスタープログラムを、マスタープログラム管理部41から読み出す。そして、実行データ作成部44は、位置情報取得部43により制御装置20から取得されたロボット10の現在位置の情報と、UI制御部42が提示するUI画面により入力された変換コマンド等の情報に基づき、選択されたマスタープログラムから実行データを作成する。なお、実行データによる作業の対象であるワークが元教示データを作成する際に用いたワークと同じ形状であり、ロボット10およびワークが元教示データを作成する際の状態と同じ状態である場合、ロボット10の現在位置は元教示データを作成した際の位置と同じであるため、現在位置の情報を取得せずに、マスタープログラムから実行データを作成しても良い。
【0039】
具体的な実行データの作成手法としては、まずマスタープログラムの複製ファイルを用意し、この複製ファイルを、UI画面を介して入力された変換コマンドに基づいて編集することにより、作業対象である具体的なワークの形状に対応する教示データとする。すなわち、この教示データによる作業内容が作業対象のワークに対応する内容に変換される。そしてさらに、ロボット10の現在位置の情報に基づいて、この教示データにおける各教示点の位置を調整する。これにより、ロボット10の状態およびワークの位置を反映させた、このワークに対する作業のための実行データ(教示データ)が作成される。
【0040】
ここで、実行データを作成するために用いられる変換コマンドとしては、例えば、次のコマンドが設定される。
「マスター基準点シフト」:マスター基準点の位置を変更する。基準点間の相対位置が変わらないように、マスター基準点の位置の変更に伴って、開始基準点および終了基準点の位置も変更される。
「開始基準点シフト」:開始基準点の位置を変更する。溶接線の長さは変わらないように、開始基準点の位置の変更に伴って、終了基準点の位置も変更される。
「溶接長指定」:指定された溶接長になるように、終了基準点の位置を変更する。マスター基準点と開始基準点の位置は変わらない。
「基準点回転」:マスター基準点を中心とし、各教示点の座標を回転変換する。また、溶接トーチ角度は溶接線との相対角度が保持されるように変換する。これにより、各教示点は相互の相対関係が変化することなく回転移動する。全ての教示点が対象となる。
「挿入」:挿入点と直前の教示点との距離が指定距離よりも長くなった場合、その指定距離毎に教示点を挿入する。
「外部加算」:外部加算点に指定座標値を加算する。
「ポジショナ値指定」:実行データのポジショナ値を指定値で書き換える。変換形式命令に依存しないで、全ての教示点が対象となる。例えば、異なる位置や方向で同一の作業を行う場合に、ポジショナ値を変更して位置や方向を適合させることにより、マスタープログラムによる動作を実行データに適用することができる。
「ミラー対称」:X−Z平面(ミラー面)を指定し、その面で対称となる教示点座標、トーチ角度になるよう変換する。変換形式命令に依存しないで、全ての教示点が対象となる。例えば、ワークの中心に対して左右対称な動作を行う場合に適用することができる。
【0041】
図11は、実行データを作成する際のUI画面の構成例を示す図である。
実行データを作成する場合に、UI制御部42により教示データ編集装置40の表示手段(例えば、
図2に示す表示装置104)にUI画面110が表示される。
図11に示すUI画面110において、「ロボット号機」欄の入力フォームには、作業を実行させるロボット10の識別情報が入力される。
「継手(マスタPRG)」欄には、作業対象のワークに応じたマスタープログラムを指定する情報が入力される。
「溶接条件」欄には、作業における溶接条件(脚長等)を指定する情報が入力される。
「変換」欄には、上記の変換形式命令に依存しない変換を行うか否かおよびパラメータが入力される。図示の例において、「ミラー変換」は、上記の「ミラー対称」が使用される。また、「回転変換」は、上記の「基準点回転」が使用される。
「入力」欄には、ロボット10の現在位置が入力される。現在位置の情報は、UI画面110に表示された「現在位置受信」ボタン111に対してマウスクリック等の操作を行うことにより、位置情報取得部43を呼び出し、制御装置20から取得する。
【0042】
また、UI画面110には、「実行データ作成開始」ボタン112と、「実行データ送信」ボタン113とが表示されている。「実行データ作成開始」ボタン112に対してマウスクリック等の操作を行うと、実行データ作成部44が呼び出され、UI画面110で指定されたマスタープログラムを用い、UI画面110で入力された各種の値および指示に基づいて、実行データが作成される。実行データ作成部44による実行データの作成は、マスタープログラムに対し、UI画面110で入力された指示に基づく変換処理を順次実行することにより(例えば、マスタープログラム→変換A→実行データA→変換B→実行データB→変換C→実行データC・・・といった手順を経て)行われる。「実行データ送信」ボタン113に対してマウスクリック等の操作を行うと、実行データ送信部45が呼び出され、実行データ作成部44により作成された実行データが制御装置20に送信される。
【0043】
また、本実施の形態では、上記のUI画面110に示したように、個別の作業を一つずつマスタープログラムから実行データに変換する他に、いくつかの作業に係る実行データをまとめて作成することもできる。この場合、例えば、予め指定されたフォームのワークシートを作成して、教示データ編集装置40に読み込ませることにより、実行データ作成部44が、ワークシートの記述に基づき、該当するマスタープログラムから実行データを順次作成する。
【0044】
図12は、複数の実行データの連続的な作成に用いるワークシートの構成例を示す図である。
本実施の形態では、例えば、
図12に示すようなワークシート120の画面が教示データ編集装置40の表示手段(例えば、
図2に示す表示装置104)に表示される。図示の例では、1群の実行データとして、丸数字「1」〜「4」で示される4種類の継手に対する実行データの作成指示が記述されている。また、その後に丸数字「1」から始まる複数の実行データの作成指示が記述されている。個々の作成指示には、
図11に示したUI画面110における入力項目に対応する項目が設けられる。このワークシート120の画面における各作成指示の各項目に必要な事項を入力しておく。
【0045】
図12に示すワークシート120には、継手ごとの各作成指示に、「ロボット」、「マスタープログラム(PRG)」、「溶接条件」「ミラー」「溶接」の各項目と、ロボット10の現在位置を取得するか否かを示す情報、作業対象のワークの形状に基づく変換パラメータが記述されている。「ロボット」には、使用するロボット10の識別情報が記入される。「マスタープログラム(PRG)」には、実行データの作成に使用するマスタープログラムの種類を示す情報が記入される。「溶接条件」には、実行ワークに対する溶接作業における溶接条件が記入される。「ミラー」は、ミラー変換を行うか否かを指定するためのチェックボックスが設けられ、「溶接」は溶接作業を実行するか否かを設定するためのチェックボックスが設けられている。また、
図12に示す例において、変換パラメータには、「基準点」のXYZ座標値(マスター基準点の位置)、「開始点」のXYZ座標値(開始基準点の位置)、「溶接長」の値(終了基準点の位置)、「ポジ回転値(ポジショナの設定値)」、「外部加算値(外部加算点の指定座標値)」、「回転変換(基準点回転の回転角度)」が記述されている。
【0046】
なお、
図12に示すワークシート120は例示に過ぎず、図示の構成に限定するものではない。例えば、図示の例では、ロボット10の現在位置の情報を1回だけ取得し、取得した情報に基づいて各作成指示における「基準点」のXYZ座標値を算出するようにしているが、作成指示ごとに個別にロボット10の現在位置の情報を取得するように構成しても良い。
【0047】
図12に示したようなワークシート120を用いて複数の実行データをまとめて作成する場合、実行データ作成部44により、継手ごとに(
図12の丸数字で示される行ごとに)、対応するマスタープログラムに基づいて実行データを作成する処理が順次行われる。
【0048】
〔マスタープログラムの作成手法〕
次に、本実施の形態で用いられるマスタープログラムの作成手法について説明する。
本実施の形態のマスタープログラムは、継手の種類に応じて選択された元教示データに変換形式命令を追加記述して、三つの基準点および各基準点に属す参照点を設定することにより作成される。この変換形式命令を記述する作業は、例えば、プログラム編集用のソフトウェア(エディタ等)を用い、手作業にて行うことができる。なお、元教示データについては、ロボット10、制御装置20および教示装置30を用いて実機を動作させることによるダイレクト教示により作成しても良いし、実機を用いずにオフライン教示により作成しても良い。
【0049】
〔実行データの作成例〕
次に、マスタープログラムに基づく実行データの作成例について説明する。
図13は、元教示データの例を示す図であり、
図13(a)は、元教示データを得るために用いられたワークおよびロボット10の動作のための教示点の位置を示し、
図13(b)は、
図13(a)のワークに基づいて得られた元教示データを示す。
【0050】
図13(a)を参照すると、ワーク130に対して、7個の教示点p1〜p7が設定されている(ただし、教示点p1と教示点p7は同一の点)。また、
図13(b)を参照すると、
図13(a)に示した教示点p1〜p7を示すステップ1〜ステップ7に加えて、3個の教示点を示すステップ8〜ステップ10が記述されている。
【0051】
図14は、
図13に示す元教示データから作成されたマスタープログラムの例を示す図であり、
図14(a)は、マスタープログラムにおける基準点および参照点(教示点)を示し、
図14(b)は、作成されたマスタープログラムを示す。なお、マスタープログラムは個別のワークに依存しない教示データであるが、
図14(a)では、各教示点と各基準点との関係を明確にするため、
図13(a)に示したワーク130を図示している。
【0052】
図14(a)を参照すると、ワーク130の継手の一端にマスター基準点Bpおよび開始基準点Bsが設定され、他端に終了基準点Beが設定されたことがわかる。また、
図14(b)を参照すると、ステップ1にマスター参照点の変換形式命令(#BREF,SX,Y,Z)が記述され、ステップ7にマスター基準点の変換形式命令(#BREF,SX,Y,Z)が記述されており、教示点p1および教示点p7がマスター参照点として設定されたことがわかる。また、開始参照点の変換形式命令(#SREF,SX,Y,Z)が記述されており、教示点p2〜教示点p4が開始参照点として設定されたことがわかる。また、
図14(b)において、ステップ5、ステップ6の各々に、終了参照点の変換形式命令(#EREF,SX,Y,Z)が記述されており、教示点p5、教示点p6が開始参照点として設定されたことがわかる。
【0053】
また、
図14(b)において、ステップ8にマスター基準点の変換形式命令(#BASEP,#DEL)が記述されており、ステップ8により示される教示点がマスター基準点Bpとして設定されたことがわかる。また、ステップ9に開始基準点の変換形式命令(#BSTART,#DEL)が記述されており、ステップ9により示される教示点が開始基準点Bsとして設定されたことがわかる。また、ステップ10に終了基準点の変換形式命令(#BEND,#DEL)が記述されており、ステップ10に示される教示点が終了基準点Beとして設定されたことがわかる。なお、ステップ8およびステップ9に示される教示点の座標値は同一であり、
図14(a)に示すように、マスター基準点Bpと開始基準点Bsとが同一の位置に設定されていることがわかる。また、各基準点の変換形式命令には、optionsに「DEL」が指定されている。
【0054】
図15は、
図14に示すマスタープログラムから作成された実行データの例を示す図である。
図15に示す例では、マスター基準点Bpの位置を変更して実行データが作成されている。
図15(a)は、実行データによる作業対象のワーク(以下、対象ワーク)150および教示点の位置を示し、
図15(b)は、実行データを示す。なお、
図15(a)には、マスター基準点Bpの移動後の対象ワーク150を実線で示し、マスター基準点Bpの移動が行われなかった場合の対象ワーク150の位置を破線で示している。
【0055】
マスター基準点の移動では、固定教示点以外の全ての点、すなわち、開始基準点、終了基準点および各基準点に属す参照点(教示点)が、マスター基準点に伴って移動する。
図14に示したマスタープログラムの例では、固定教示点は存在しないので、全ての点が移動する。
図15(a)を参照すると、各基準点Bp、Bs、Beおよび教示点p1〜p7が同じ方向に同じ量だけ移動することにより、対象ワーク150が変形せずに移動している。
【0056】
また、
図15(b)を参照すると、各教示点p1〜p7を示すステップ1〜ステップ7の全てで、座標値が同様に変更されている。なお、マスタープログラムのステップ8〜ステップ10には、変換形式命令のoptionsに「DEL」が指定されていたため、
図15(b)に示す実行データでは、ステップ8〜ステップ10が削除されている。これは、実行データに基づくロボット10の動作において、各基準点Bp、Bs、Beは不要であるため、実行データの作成に際して削除したものである。
【0057】
図16は、
図14に示すマスタープログラムから作成された実行データの他の例を示す図である。
図16に示す例では、開始基準点Bsの位置を変更して実行データが作成されている。
図16(a)は、実行データの対象ワーク160および教示点の位置を示し、
図16(b)は、実行データを示す。なお、
図16(a)には、開始基準点Bsの移動後の対象ワーク160を実線で示し、開始基準点Bsの移動が行われなかった場合の対象ワーク160の位置(部分)を破線で示している。
【0058】
開始基準点の移動では、終了基準点が開始基準点と共に移動し、これに伴って開始基準点に属す参照点(教示点)および終了基準点に属す参照点(教示点)が移動する。
図14に示したマスタープログラムの例では、教示点p2〜p4が開始基準点Bsに属す開始参照点であり、教示点p5、p6が終了基準点Beに属す終了参照点であるので、これらの点が移動する。
図16(a)を参照すると、基準点Bs、Beおよび教示点p2〜p6が同じ方向に同じ量だけ移動することにより、対象ワーク160が変形せずに移動している。また、これらの教示点p2〜p6は、マスター参照点である教示点p1、p7との間の相対的な位置関係が変化している。
【0059】
また、
図16(b)を参照すると、教示点p2〜p4を示すステップ2〜ステップ4において、座標値が同様に変更されている。なお、マスタープログラムのステップ8〜ステップ10には、変換形式命令のoptionsに「DEL」が指定されていたため、
図16(b)に示す実行データでは、ステップ8〜ステップ10が削除されている。
【0060】
図17は、
図14に示すマスタープログラムから作成された実行データのさらに他の例を示す図である。
図17に示す例では、終了基準点Beの位置を変更して実行データが作成されている。
図17(a)は、実行データの対象ワーク170および教示点の位置を示し、
図17(b)は、実行データを示す。なお、
図17(a)には、終了基準点Beの移動後の対象ワーク170を実線で示し、終了基準点Beの移動が行われなかった場合の対象ワーク170の位置(部分)を破線で示している。
【0061】
終了基準点の移動では、終了基準点に属す参照点(教示点)が、終了基準点の移動に伴って移動する。
図14に示したマスタープログラムの例では、教示点p5、p6が終了基準点Beに属す終了参照点であるので、これらの点が移動する。
図17(a)を参照すると、終了基準点Beおよび教示点p5、p6が同じ方向に同じ量だけ移動しており、これにより、対象ワーク170が変形している。また、これらの教示点p5、p6は、マスター参照点である教示点p1、p7および開始参照点である教示点p2〜p4との間の相対的な位置関係が変化している。
【0062】
また、
図17(b)を参照すると、教示点p5、p6を示すステップ5、ステップ6において、座標値が同様に変更されている。なお、マスタープログラムのステップ8〜ステップ10には、変換形式命令のoptionsに「DEL」が指定されていたため、
図16(b)に示す実行データでは、ステップ8〜ステップ10が削除されている。
【0063】
以上、
図13乃至
図17を参照して説明したように、本実施の形態では、三つの基準点を適宜移動することにより、同一のマスタープログラムに基づいて様々な対象ワークに対する実行データを作成することができる。上記の例では、マスター基準点、開始基準点、終了基準点を単独で移動させた場合に作成される実行データの例を示したが、各基準点の移動を組み合わせて、さらに位置や形状の異なる対象ワークに対する実行データを作成することもできる。また、上述した「基準点回転」や「ミラー対称」を用いたり、これらと各基準点の移動とを組み合わせることにより、さらに多くの種類の対象ワークに対する実行データを作成することができる。
【0064】
以上説明したように、本実施の形態によれば、ワークに依存せずにロボット10の動作を記述したマスタープログラムに基づいて実行データを作成することにより、種々の条件に応じた汎用性の高い教示システムを実現することができる。
また、本実施の形態では、マスタープログラムから実行データを作成するには、ロボット10の現在位置を制御装置20から取得して入力すると共に、必要に応じて基準点を移動させるための開始点位置および溶接線長の値を入力するだけで良い(元教示データの作成時におけるワークの位置と、溶接時の対象ワークの位置とが同じである場合、ロボット10の現在位置の取得も不要)。したがって、ワークのCADモデルを用意して対比する必要がないため、特定の具体的な教示データから類似するワークのための教示データを作成する場合と比較して、作業に要する手間を大幅に削減することができる。