(57)【特許請求の範囲】
【請求項１】
ロボットの教示データを作成する作成システムであって、
仮想空間の原点を特定する第１の基準点と、作業開始位置に対応する第２の基準点と、作業終了位置に対応する第３の基準点とにより作業範囲を特定し、当該仮想空間における教示点を設定したマスタープログラムを取得するマスタープログラム取得手段と、
前記マスタープログラムにおける前記第１の基準点、前記第２の基準点および前記第３の基準点の位置の変更指示を受け付け可能な入力受け付け手段と、
特定の作業対象物に応じて前記マスタープログラムを編集することにより、当該作業対象物に対する作業を前記ロボットに実行させるための教示データを作成する教示データ作成手段と、を備え、
前記教示データ作成手段は、前記入力受け付け手段が前記第１の基準点、前記第２の基準点および前記第３の基準点のうちの何れかまたは全ての位置に対する前記変更指示を受け付けた場合は、前記マスタープログラムにおいて設定された当該基準点に対して当該変更指示を反映させて前記教示データを作成することを特徴とする、教示データの作成システム。
【請求項２】
前記マスタープログラム取得手段により取得される前記マスタープログラムは、教示点の少なくとも一部が前記第１の基準点、前記第２の基準点および前記第３の基準点のいずれかに連動する参照点として設定され、
前記教示データ作成手段は、前記第１の基準点、前記第２の基準点および前記第３の基準点のいずれかの位置を変更する場合に、位置を変更する基準点に連動する前記参照点として設定された教示点の位置を、当該基準点との相対関係が変化しないように変更することを特徴とする、請求項１に記載の教示データの作成システム。
【請求項３】
前記入力受け付け手段が前記第１の基準点の位置の変更指示を受け付けた場合、前記教示データ作成手段は、当該第１の基準点の位置を当該変更指示にしたがって変更すると共に、前記第２の基準点および前記第３の基準点の位置を、当該第１の基準点との相対関係が変化しないように変更することを特徴とする、請求項１または請求項２に記載の教示データの作成システム。
【請求項４】
前記入力受け付け手段が前記第２の基準点の位置の変更指示を受け付けた場合、前記教示データ作成手段は、当該第２の基準点の位置を当該変更指示にしたがって変更すると共に、前記第３の基準点の位置を、当該第２の基準点との相対関係が変化しないように変更することを特徴とする、請求項１乃至請求項３の何れかに記載の教示データの作成システム。
【請求項５】
前記ロボットの制御点の現在位置の情報を取得する位置情報取得手段をさらに備え、
前記教示データ作成手段は、前記第１の基準点、前記第２の基準点および前記第３の基準点の位置に基づいて特定された各教示点の位置を、前記位置情報取得手段により取得された前記ロボットの制御点の現在位置の情報に基づいて変更することを特徴とする、請求項１乃至請求項４の何れかに記載の教示データの作成システム。
【請求項６】
ロボットの教示データを作成する作成システムとしてコンピュータを機能させるプログラムであって、
仮想空間の原点を特定する第１の基準点と、作業開始位置に対応する第２の基準点と、作業終了位置に対応する第３の基準点とにより作業範囲を特定し、当該仮想空間における教示点を設定したマスタープログラムを取得する機能と、
前記マスタープログラムにおける前記第１の基準点、前記第２の基準点および前記第３の基準点の位置の変更指示を受け付ける機能と、
特定の作業対象物に応じて前記マスタープログラムを編集し、基準点の位置の変更指示を受け付ける前記機能により前記第１の基準点、前記第２の基準点および前記第３の基準点のうちの何れかまたは全ての位置に対する前記変更指示を受け付けた場合は、当該マスタープログラムにおいて設定された当該基準点に対して当該変更指示を反映させて前記教示データを作成する機能と、
を備えることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用ロボットの教示データを作成する作成システムおよびプログラムに関する。
【背景技術】
【０００２】
溶接を行う溶接ロボット等の産業用ロボットは、教示データを与えることにより、その教示データにより設定される作業を実行するように動作する。したがって、作業対象であるワークの種類ごとに個別の教示データが用いられる。多品種の少量生産が求められる製品に関しては、サイズや一部の構成が異なる多様なワークに対する個別の教示データを用意することが必要となる。このような場合において、基本型となるワークの教示データを設定し、この教示データを編集することによって、類似する多品種のワークに対する個別の教示データを作成することが行われている。
【０００３】
この種の従来技術として、例えば特許文献１には、ロボットにより教示された基本型ワークの教示データからマスタープログラムを作成して記憶する手段と、基本型ワークと作業対象となる類似ワークの図面をＣＡＤに入力し基本型ワークと類似ワークの図面情報を取得する手段と、図面情報に基づき基本型ワークに対する類似ワークの拡大、縮小、組み合わせ情報を取り出す手段と、拡大、縮小、組み合わせ情報をもとに、マスタープログラムに対し拡大、縮小、組み合わせの変換処理を行い新たな教示データを作成するマスタープログラム相似変換手段を有するロボットの教示装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−３３７７１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
基本型ワークの教示データに基づいて類似ワークの教示データを作成する場合、ＣＡＤにおいて各ワークのモデルを比較して差異を抽出し、抽出された各ワークのモデルの差異に基づいて基本型ワークの教示データを編集することが行われていた。このため、基本型ワークおよび類似ワークの双方についてＣＡＤのモデルを用意する必要があった。また、基本型ワークの教示データを編集することにより類似ワークの教示データが作成されるため、形状等が基本型ワークとは大きく異なるワークの教示データを作成することができず、汎用性に乏しかった。
本発明は、抽象的な教示データのマスタープログラムに基づいて教示データを作成する汎用性の高い教示システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成する本発明は、次のような作成システムとして実現される。このシステムは、ロボットの教示データを作成する作成システムであって、仮想空間の原点を特定する第１の基準点と、作業開始位置に対応する第２の基準点と、作業終了位置に対応する第３の基準点とにより作業範囲を特定し、この仮想空間における教示点を設定したマスタープログラムを取得するマスタープログラム取得手段と、このマスタープログラムにおける第１の基準点、第２の基準点および第３の基準点の位置の変更指示を受け付け可能な入力受け付け手段と、特定の作業対象物に応じてマスタープログラムを編集することにより、この作業対象物に対する作業をロボットに実行させるための教示データを作成する教示データ作成手段と、を備える。そして、教示データ作成手段は、入力受け付け手段が第１の基準点、第２の基準点および第３の基準点のうちの何れかまたは全ての位置に対する変更指示を受け付けた場合は、マスタープログラムにおいて設定された基準点に対して変更指示を反映させて教示データを作成することを特徴とする。
このような構成とすることにより、具体的な作業対象物に依存しない抽象的な教示データであるマスタープログラムに基づき、基準点を操作することによって、様々なワークに対応可能な汎用性の高い教示データの作成システムを実現することができる。
【０００７】
ここで、より詳細には、マスタープログラム取得手段により取得されるマスタープログラムは、教示点の少なくとも一部が第１の基準点、第２の基準点および第３の基準点のいずれかに連動する参照点として設定される。そして、教示データ作成手段は、第１の基準点、第２の基準点および第３の基準点のいずれかの位置を変更する場合に、位置を変更する基準点に連動する参照点として設定された教示点の位置を、その基準点との相対関係が変化しないように変更する。
このような構成とすることにより、基準点と関連性の高い教示点をグループ単位で扱うことができるため、基準点の周囲のロボットの動作に一貫性を持たせながら、様々なワークに対応させることができる。
また、入力受け付け手段が第１の基準点の位置の変更指示を受け付けた場合、教示データ作成手段は、第１の基準点の位置を変更指示にしたがって変更すると共に、第２の基準点および第３の基準点の位置を、第１の基準点との相対関係が変化しないように変更する。
また、入力受け付け手段が第２の基準点の位置の変更指示を受け付けた場合、教示データ作成手段は、第２の基準点の位置を変更指示にしたがって変更すると共に、第３の基準点の位置を、第２の基準点との相対関係が変化しないように変更する。
さらに、上記の作成システムにおいて、ロボットの制御点の現在位置の情報を取得する位置情報取得手段をさらに備える構成としても良い。この場合、教示データ作成手段は、第１の基準点、第２の基準点および第３の基準点の位置に基づいて特定された各教示点の位置を、位置情報取得手段により取得されたロボットの制御点の現在位置の情報に基づいて変更する。
【０００８】
さらにまた、本発明は、コンピュータを制御して上述したシステムの各機能を実現するプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより、提供することができる。
【発明の効果】
【０００９】
本発明によれば、様々なワークの教示データを作成可能な汎用性の高い教示システムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態に係る教示システムを含む溶接ロボットシステムの概略構成を示す図である。
【図２】本実施の形態の教示データ編集装置のハードウェア構成例を示す図である。
【図３】本実施の形態の教示データ編集装置の機能構成例を示す図である。
【図４】本実施の形態における三つの基準点の関係を説明する図である。
【図５】本実施の形態における参照点（教示点）の移動方法を説明する図である。
【図６】本実施の形態における第１の方法による基準点の設定方法を説明する図である。
【図７】本実施の形態における第２の方法による基準点の設定方法を説明する図である。
【図８】本実施の形態における第３の方法による基準点の設定方法を説明する図である。
【図９】本実施の形態における参照点の設定例を示す図である。
【図１０】本実施の形態における参照点の他の設定例を示す図である。
【図１１】本実施の形態における実行データを作成する際のＵＩ画面の構成例を示す図である。
【図１２】本実施の形態において複数の実行データの連続的な作成に用いるワークシートの構成例を示す図である。
【図１３】本実施の形態の元教示データの例を示す図であり、図１３（ａ）は、元教示データを得るために用いられたワークおよびロボットの動作のための教示点の位置を示す図、図１３（ｂ）は、図１３（ａ）のワークに基づいて得られた元教示データを示す図である。
【図１４】図１３に示す元教示データから作成されたマスタープログラムの例を示す図であり、図１４（ａ）は、マスタープログラムにおける基準点および参照点（教示点）を示す図、図１４（ｂ）は、作成されたマスタープログラムを示す図である。
【図１５】図１４に示すマスタープログラムから作成された実行データの例を示す図であり、図１５（ａ）は、実行データによる対象ワークおよび教示点の位置を示す図、図１５（ｂ）は、実行データを示す図である。
【図１６】図１４に示すマスタープログラムから作成された実行データの他の例を示す図であり、図１６（ａ）は、実行データの対象ワークおよび教示点の位置を示す図、図１６（ｂ）は、実行データを示す図である。
【図１７】図１４に示すマスタープログラムから作成された実行データのさらに他の例を示す図であり、図１７（ａ）は、実行データの対象ワークおよび教示点の位置を示す図、図１７（ｂ）は、実行データを示す図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
本実施の形態では、溶接ロボットシステムにおける教示データの作成システムを例として説明する。
〔システム構成〕
図１は、本実施の形態に係る教示システムを含む溶接ロボットシステムの概略構成を示す図である。
図１に示すように、溶接ロボットシステムは、ロボット（マニピュレータ）１０と、ロボット１０を制御する制御装置（コントローラ）２０と、教示データを入力する教示装置３０とを備える。また、教示データを作成し制御装置２０に提供する教示システムは、例えばコンピュータシステムにより実現される教示データ編集装置４０にて構成される。制御装置２０と教示データ編集装置４０とは、ネットワーク（例えば無線ＬＡＮ）を介して情報通信可能に接続されている。これにより、教示データ編集装置４０により作成された教示データを制御装置２０へ送信し、教示データの作成に必要なロボット１０の情報を制御装置２０から教示データ編集装置４０へ送信することができる。
【００１２】
ロボット１０は、複数の関節を有する腕（アーム）を備え、教示データに基づく各種の作業を行う。例えば、アーク溶接ロボットシステムの場合、腕の先端には、対象物の溶接作業を行うための溶接トーチ１１が設けられる。制御装置２０は、教示データを記憶する記憶装置（メモリ）と、教示データを読み込んでロボット１０の動作を制御する処理装置（ＣＰＵ）とを備える。教示装置３０は、ロボット１０の教示作業の際に、操作者が溶接経路や溶接作業条件等を入力するために使用される。教示装置３０は、液晶ディスプレイなどにより構成された表示画面３１と、入力ボタン３２とを備えている。
【００１３】
制御装置２０は、ロボット１０に対するインターフェイスおよび教示装置３０に対するインターフェイスを有し、これらを介してロボット１０および教示装置３０と接続される。また、制御装置２０は、ネットワーク・インターフェイスを備えており、これにより教示データ編集装置４０とデータ交換を行うことができる。
【００１４】
〔教示データ編集装置のハードウェア構成〕
図２は、教示データ編集装置４０のハードウェア構成例を示す図である。
図２に示すように、教示データ編集装置４０は、演算手段であるＣＰＵ（Central Processing Unit）１０１と、主記憶手段であるメモリ１０２を備える。また、外部デバイスとして、画像表示機構（ビデオカード等）１０３および表示装置１０４と、磁気ディスク装置（ＨＤＤ：Hard Disk Drive）１０５と、キーボードやマウス等の入力デバイス１０６等を備える。また、制御装置２０とデータ交換を行うためのネットワーク・インターフェイス１０７を備える。なお、図２は、教示データ編集装置４０をコンピュータシステムにて実現した場合のハードウェア構成を例示するに過ぎず、教示データ編集装置４０は図示の構成に限定されない。
【００１５】
〔教示データ編集装置の機能構成〕
図３は、教示データ編集装置４０の機能構成例を示す図である。
図３に示すように、教示データ編集装置４０は、マスタープログラム管理部４１と、ＵＩ制御部４２と、位置情報取得部４３と、実行データ作成部４４と、実行データ送信部４５と、を備える。
【００１６】
マスタープログラム管理部４１は、本実施の形態においてロボット１０に実行させるための教示データ（以下、実行データ）を作成するために用いられるマスタープログラムを保持し、管理する。ここで、マスタープログラムは、教示データを抽象化して個別のワークに依存しないように構成したデータ（プログラム）である。このマスタープログラムは、例えば、継手の種類ごとに用意され、フォルダ（ディレクトリ）等により分類されてマスタープログラム管理部４１に管理される。マスタープログラムの詳細については後述する。
【００１７】
ＵＩ制御部４２は、入力受け付け手段であり、対象となるマスタープログラムおよびロボット１０を特定し、このロボット１０に実行させる実行データを作成する処理を行うためのユーザ・インターフェイスを提供し、制御する。具体的には、例えば、ＵＩ（ユーザ・インターフェイス）画面を生成して表示手段（例えば、図２に示した表示装置１０４）に表示させ、このＵＩ画面上での操作によりユーザが入力した指示を受け付ける。
【００１８】
位置情報取得部４３は、ＵＩ制御部４２により受け付けられた指示にしたがって起動し、制御装置２０からロボット１０の現在位置の情報を取得する。ここで、ロボット１０の現在位置とは、ロボット１０において設定された原点位置を基準とするロボットアーク点（制御点、溶接ワイヤーの先端）の位置であり、例えば３次元座標系を用いて（ｒｘ，ｒｙ，ｒｚ）等のように表される。また、システムの構成にスライダが含まれる場合、スライダの原点位置を基準とするロボットアーク点の位置が現在位置となる。この場合、スライダの原点に対するロボット１０の原点位置を上記と同じ（ただし原点が異なる）３次元座標系を用いて（ｓｘ，ｓｙ，ｓｚ）とすると、ロボット１０の現在位置は、（ｒｘ＋ｓｘ，ｒｙ＋ｓｙ，ｒｚ＋ｓｚ）と表される。なお、システムの構成にスライダが含まれない場合の座標値をｒｘ＝ｒｙ＝ｒｚ＝０で表すとすれば、一般的に、座標値（ｒｘ＋ｓｘ，ｒｙ＋ｓｙ，ｒｚ＋ｓｚ）でロボット１０の現在位置を表すことができる。
実行データ作成部４４は、ＵＩ制御部４２により受け付けられた指示にしたがって起動し、マスタープログラムおよび位置情報取得部４３により取得されたロボット１０の現在位置の情報に基づいて、このロボット１０に実行させる実行データを作成する。マスタープログラムを編集して実行データを作成する処理の詳細については後述する。
実行データ送信部４５は、ＵＩ制御部４２により受け付けられた指示にしたがって起動し、実行データ作成部４４により作成された実行データを制御装置２０に送信する。
【００１９】
〔マスタープログラムの内容〕
本実施の形態において実行データを作成するために用いられるマスタープログラムは、作業対象となる個別のワークに依存せずに、作業におけるロボット１０の動作を抽象的に記述するものである。本実施の形態のマスタープログラムにおいては、マスター基準点、開始基準点、終了基準点という三つの基準点を設定し、これにより、ロボット１０による作業が行われる範囲（作業範囲）を特定する。これらの基準点は、マスタープログラムの元になる教示データに、特定の命令（以下、変換形式命令）を記述することにより設定される。変換形式命令の詳細については後述する。
【００２０】
マスター基準点とは、マスタープログラムにより設定される仮想的な空間の原点を示す点である。
開始基準点とは、溶接線の開始側の基準位置を示す点である。
終了基準点とは、溶接線の終了側の基準位置を示す点である。
これらの基準点により、具体的なワークに依存せずに、空間とその空間における溶接線とが特定される。また、マスタープログラムから実行データを作成する際に、これらの基準点を操作することにより、溶接線を変形したり位置を変えたりすることができる。なお、詳しくは後述するが、基準点は、いずれかの教示点と一致する点である場合もあるし、いずれの教示点とも一致しない点である場合もある。
【００２１】
図４は、三つの基準点の関係を説明する図である。
図４（ａ）に示すように三つの基準点が設定された場合を考える。図４（ａ）において、点Ｂｐがマスター基準点、点Ｂｓが開始基準点、点Ｂｅが終了基準点である。このとき、図４（ｂ）に示すように、マスター基準点を移動させると（Ｂｐ→Ｂｐ’）、三つの基準点Ｂｐ、Ｂｓ、Ｂｅの相対位置（相対関係）は変化せずに、各基準点およびこれにより表される溶接線全体が、マスター基準点の移動に伴って移動する（Ｂｐ、Ｂｓ、Ｂｅ→Ｂｐ’、Ｂｓ’、Ｂｅ’）。
また、図４（ｃ）に示すように、開始基準点を移動させると（Ｂｓ→Ｂｓ’）、開始基準点Ｂｓと終了基準点Ｂｅとの相対位置は変化せず、これらの基準点およびこれにより表される溶接線が、マスター基準点Ｂｐに対して移動する（Ｂｓ、Ｂｅ→Ｂｓ’、Ｂｅ’）。
また、図４（ｄ）に示すように、終了基準点を移動させると（Ｂｅ→Ｂｅ’）、マスター基準点Ｂｐおよび開始基準点Ｂｓは移動せず、これらの基準点に対する終了基準点の相対位置のみが変化する（Ｂｅ→Ｂｅ’）。このため、溶接線の長さや方向が変化する。
【００２２】
また、本実施の形態のマスタープログラムでは、教示点のいくつかが、上記三つの基準点の何れかに属す参照点として設定される。すなわち、マスター基準点に属すマスター参照点、開始基準点に属す開始参照点、終了基準点に属す終了参照点が設定される。各参照点は、自身が属す基準点に対する相対位置が固定されており、基準点が移動すると、これに伴って移動する。これらの参照点は、マスタープログラムの元になる教示データに、特定の命令（変換形式命令）を記述することにより設定される。変換形式命令の詳細については後述する。
【００２３】
図５は、参照点（教示点）の移動方法を説明する図である。
上記のように、参照点は、自身が属す基準点の移動に連動する。図示の例では、マスター基準点の移動（Ｂｐ→Ｂｐ’）に伴って、マスター基準点に属す参照点が移動している（ｐ１、ｐ２→ｐ１’、ｐ２’）。参照点の移動後の位置は、基準点の移動後の位置に基づいて特定される。具体的には、基準点の移動ベクトルを（基準点の移動後の位置−基準点の移動前の位置）で求め、この移動ベクトルを移動前の参照点の位置（座標値）に加算することにより求めることができる。
【００２４】
参照点の移動方法としては、図５（ａ）に示すように、ロボット１０の位置を変えずにロボット１０の先端部の動作により対応する方法（以下、ロボット移動）と、図５（ｂ）に示すように、ロボット１０の姿勢は変えずにスライダ（不図示）を動作させてロボット１０の位置を移動させる方法（以下、スライダ移動）とがある。ロボット移動の場合は、ロボット１０の先端部の位置（例えば、上記ロボット１０の現在位置の説明において述べた座標値（ｒｘ，ｒｙ，ｒｚ））に上記の基準点の移動ベクトルを加算して移動先の位置を特定する。一方、スライダ移動の場合は、スライダの位置（例えば、上記ロボット１０の現在位置の説明において述べた座標値（ｓｘ，ｓｙ，ｓｚ））に上記の基準点の移動ベクトルを加算して移動先の位置を特定する。また、これらの移動方法を組み合わせて用いても良い。どのような移動方法を採用するかは、ロボット１０のシステム構成等に基づいて適宜に定め得る。
【００２５】
また、本実施の形態のマスタープログラムでは、上記三つの基準点および参照点のいずれにも該当しない教示点を固定教示点と呼ぶ。固定教示点は、基準点および基準点に連動する参照点が移動した場合にも移動しない。したがって、マスタープログラムから作成された実行データにおいて、固定教示点の位置は、マスタープログラムにおける対応する固定教示点の位置と変わらない。したがって、マスタープログラムにおいて、固定教示点に対しては、変換形式命令は設定されない。
【００２６】
次に、基準点の設定の仕方について説明する。
本実施の形態では、基準点の設定方法として、次の三つの方法が可能である。なお、ここでは、各基準点の変換形式命令を下記のように記述するものとする。
マスター基準点「 ; #BASEP{,options}」
開始基準点「; #BSTART{,options}」
終了基準点「; #BEND{,options}」
【００２７】
（１）基準点を教示点として追加する方法
第１の方法は、マスタープログラムの元になる教示データ（以下、元教示データ）に、その元教示データにおける動作の教示点とは別に、基準点としての教示点を追加設定する方法である。元教示データにおいて、基準点として追加された教示点（追加教示点）に変換形式命令を記述することにより、追加教示点の座標を基準点の位置とする。
【００２８】
図６は、第１の方法による基準点の設定方法を説明する図である。
図６（ａ）に示す例では、ロボット１０の動作のための教示点ｐ１〜ｐ７に加えて、マスター基準点としての追加教示点Ｂｐ、開始基準点としての追加教示点Ｂｓ、終了基準点としての追加教示点Ｂｅが設定されている。そして、図６（ｂ）に示すマスタープログラム１００において、８番目の教示点を示すステップ８にマスター基準点の変換形式命令が記述され、９番目の教示点を示すステップ９に開始基準点の変換形式命令が記述され、１０番目の教示点を示すステップ１０に終了基準点の変換形式命令が記述されている（太字部分）。なお、通常、実行データでは、基準点として設けられたこれらの教示点は不要であるため、図示のように、変換形式命令のoptionsに、「ＤＥＬ」を指定し、実行データから削除するようにしても良い。
【００２９】
（２）基準点の位置を数値で指定する方法
第２の方法は、元教示データの０ステップに、基準点の位置を数値で指定する変換形式命令を設定する方法である。この場合、変換形式命令のoptionsに、ロボット軸座標（Ｘ，Ｙ，Ｚ）とスライダ座標（ＳＸ，ＳＹ，ＳＺ）を加算した座標「Ｘ＋ＳＸ座標値，Ｙ＋ＳＹ座標値，Ｚ＋ＳＺ座標値」を指定する。
【００３０】
図７は、第２の方法による基準点の設定方法を説明する図である。
図７（ａ）に示す例では、ロボット１０の動作のための教示点ｐ１〜ｐ７とは別に、マスター基準点Ｂｐ、開始基準点Ｂｓ、終了基準点Ｂｅが設定されている。そして、図７（ｂ）に示すマスタープログラム１００において、ステップ０の最後の３行に、マスター基準点、開始基準点、終了基準点を示す変換形式命令がそれぞれ記述されている（太字部分）。また、各基準点の変換形式命令のoptionsに、マスター基準点Ｂｐ、開始基準点Ｂｓ、終了基準点Ｂｅを示すための座標値が記述されている。
【００３１】
（３）基準点を動作教示点に含めて設定する方法
第３の方法は、元教示データにおいて、元々作業における動作のために設定された教示点を基準点として設定する方法である。この場合、基準点のＸ、Ｙ、Ｚ座標軸をそれぞれ個別に設定できる。optionsに、Ｘ，Ｙ，Ｚの順で設定する軸名を並べ、それぞれを「，」で区切る。座標値を設定しない軸は空白とする。
【００３２】
図８は、第３の方法による基準点の設定方法を説明する図である。
図８（ａ）に示す例では、教示点ｐ３をマスター基準点Ｂｐおよび開始基準点Ｂｓとして設定し、教示点ｐ５を終了基準点Ｂｅとして設定している。そして、図８（ｂ）に示すマスタープログラム１００において、３番目の教示点を示すステップ３にマスター基準点の変換形式命令および開始基準点の変換形式命令が記述されている（太字部分）。また、３番目の教示点ｐ３と５番目の教示点ｐ５のＸ座標値およびＺ座標値が共通することに基づき、終了基準点の変換形式命令は、３番目の教示点を示すステップ３および５番目の教示点を示すステップ５に記述され、ステップ３においてＸ座標値およびＺ座標値が設定され、ステップ５においてＹ座標値が設定されている（太字部分）。
【００３３】
次に、参照点の設定方法について説明する。
参照点は、元教示データの該当する教示点のステップに、参照点を設定するための変換形式命令を記述することにより設定される。ここでは、各参照点の変換形式命令を下記のように記述するものとする。
マスター参照点「; #BREF,{X/SX},{Y/SY},{Z/SZ}」
開始参照点「; #SREF,{X/SX},{Y/SY},{Z/SZ}」
終了参照点「; #EREF,{X/SX},{Y/SY},{Z/SZ}」
なお、「Ｘ，Ｙ，Ｚ」はロボット移動を指定する記述であり、「ＳＸ，ＳＹ，ＳＺ」はスライダ移動を指定する記述である。また、これらの移動を混在させて設定することも可能である。
【００３４】
図９は、参照点の設定例を示す図である。
図９に示すマスタープログラム１００において、１番目の教示点を示すステップ１にマスター参照点の変換形式命令が記述され、２番目〜４番目の教示点を示すステップ２〜ステップ４に開始参照点の変換形式命令が記述され、５番目、６番目の教示点を示すステップ５、ステップ６に終了参照点の変換形式命令が記述されている（太字部分）。すなわち、１番目の教示点がマスター参照点、２番目の教示点が開始参照点、５番目の教示点が終了参照点として設定されている。また、この例では、参照点の移動は、いずれもロボット移動によるものとなっている。
【００３５】
図１０は、参照点の他の設定例を示す図である。
図１０に示すマスタープログラム１００において、２番目の教示点を示すステップ２、３番目の教示点を示すステップ３、４番目の教示点を示すステップ４に、それぞれ開始参照点の変換形式命令が記述されており、各教示点が開始参照点として設定されている（太字部分）。そして、この例では、ステップ２の開始参照点に対してはロボット移動が指定され、ステップ３の開始参照点に対してはスライダ移動が指定されている。また、ステップ４の開始参照点に対しては、Ｘ軸およびＺ軸についてはロボット移動、Ｙ軸についてはスライダ移動とすることが指定されている。
【００３６】
また、本実施の形態のマスタープログラムでは、実行データの作成において教示点間の距離が長くなることを防ぐため、挿入点を設定することができる。例えば、教示点間の距離に指定距離を設定しておき、基準点を移動した結果いずれかの教示点の間の距離が指定距離よりも長くなった場合に、指定距離ごとに教示点を挿入することができる。ロボット１０は、再生時にアーク倣い等のセンシング情報を教示点に保持するが、教示点間の距離が長いと、センシング情報による補正が滑らかに行われなくなる。そこで、上記のように挿入点を設定し、教示点間の距離が所定の長さ（指定距離）よりも長くなることを防止している。
【００３７】
また、本実施の形態のマスタープログラムでは、実行データの作成において基準点を移動しないで教示点を移動することが可能である。この場合、外部加算点と呼ぶ点を設定する。例えば、フランジ上面とダイアフラム側面が交差した位置に基準点を設定し、プログラム溶接区間の教示点が基準点から板厚分下がったところに作成される場合において、板厚を外部加算点で指定するようにすると、基準点の位置を変更することなく、外部加算点の設定のみで異なる板厚に対応するマスタープログラムを作成できる。
【００３８】
〔実行データの作成手法〕
次に、上記のように構成されたマスタープログラムから実行データを作成する手法について説明する。
本実施の形態による教示データ編集装置４０の実行データ作成部４４は、マスタープログラム取得手段として機能し、作成しようとする実行データの対象のワークに基づいて選択されたマスタープログラムを、マスタープログラム管理部４１から読み出す。そして、実行データ作成部４４は、位置情報取得部４３により制御装置２０から取得されたロボット１０の現在位置の情報と、ＵＩ制御部４２が提示するＵＩ画面により入力された変換コマンド等の情報に基づき、選択されたマスタープログラムから実行データを作成する。なお、実行データによる作業の対象であるワークが元教示データを作成する際に用いたワークと同じ形状であり、ロボット１０およびワークが元教示データを作成する際の状態と同じ状態である場合、ロボット１０の現在位置は元教示データを作成した際の位置と同じであるため、現在位置の情報を取得せずに、マスタープログラムから実行データを作成しても良い。
【００３９】
具体的な実行データの作成手法としては、まずマスタープログラムの複製ファイルを用意し、この複製ファイルを、ＵＩ画面を介して入力された変換コマンドに基づいて編集することにより、作業対象である具体的なワークの形状に対応する教示データとする。すなわち、この教示データによる作業内容が作業対象のワークに対応する内容に変換される。そしてさらに、ロボット１０の現在位置の情報に基づいて、この教示データにおける各教示点の位置を調整する。これにより、ロボット１０の状態およびワークの位置を反映させた、このワークに対する作業のための実行データ（教示データ）が作成される。
【００４０】
ここで、実行データを作成するために用いられる変換コマンドとしては、例えば、次のコマンドが設定される。
「マスター基準点シフト」：マスター基準点の位置を変更する。基準点間の相対位置が変わらないように、マスター基準点の位置の変更に伴って、開始基準点および終了基準点の位置も変更される。
「開始基準点シフト」：開始基準点の位置を変更する。溶接線の長さは変わらないように、開始基準点の位置の変更に伴って、終了基準点の位置も変更される。
「溶接長指定」：指定された溶接長になるように、終了基準点の位置を変更する。マスター基準点と開始基準点の位置は変わらない。
「基準点回転」：マスター基準点を中心とし、各教示点の座標を回転変換する。また、溶接トーチ角度は溶接線との相対角度が保持されるように変換する。これにより、各教示点は相互の相対関係が変化することなく回転移動する。全ての教示点が対象となる。
「挿入」：挿入点と直前の教示点との距離が指定距離よりも長くなった場合、その指定距離毎に教示点を挿入する。
「外部加算」：外部加算点に指定座標値を加算する。
「ポジショナ値指定」：実行データのポジショナ値を指定値で書き換える。変換形式命令に依存しないで、全ての教示点が対象となる。例えば、異なる位置や方向で同一の作業を行う場合に、ポジショナ値を変更して位置や方向を適合させることにより、マスタープログラムによる動作を実行データに適用することができる。
「ミラー対称」：Ｘ−Ｚ平面（ミラー面）を指定し、その面で対称となる教示点座標、トーチ角度になるよう変換する。変換形式命令に依存しないで、全ての教示点が対象となる。例えば、ワークの中心に対して左右対称な動作を行う場合に適用することができる。
【００４１】
図１１は、実行データを作成する際のＵＩ画面の構成例を示す図である。
実行データを作成する場合に、ＵＩ制御部４２により教示データ編集装置４０の表示手段（例えば、図２に示す表示装置１０４）にＵＩ画面１１０が表示される。
図１１に示すＵＩ画面１１０において、「ロボット号機」欄の入力フォームには、作業を実行させるロボット１０の識別情報が入力される。
「継手（マスタＰＲＧ）」欄には、作業対象のワークに応じたマスタープログラムを指定する情報が入力される。
「溶接条件」欄には、作業における溶接条件（脚長等）を指定する情報が入力される。
「変換」欄には、上記の変換形式命令に依存しない変換を行うか否かおよびパラメータが入力される。図示の例において、「ミラー変換」は、上記の「ミラー対称」が使用される。また、「回転変換」は、上記の「基準点回転」が使用される。
「入力」欄には、ロボット１０の現在位置が入力される。現在位置の情報は、ＵＩ画面１１０に表示された「現在位置受信」ボタン１１１に対してマウスクリック等の操作を行うことにより、位置情報取得部４３を呼び出し、制御装置２０から取得する。
【００４２】
また、ＵＩ画面１１０には、「実行データ作成開始」ボタン１１２と、「実行データ送信」ボタン１１３とが表示されている。「実行データ作成開始」ボタン１１２に対してマウスクリック等の操作を行うと、実行データ作成部４４が呼び出され、ＵＩ画面１１０で指定されたマスタープログラムを用い、ＵＩ画面１１０で入力された各種の値および指示に基づいて、実行データが作成される。実行データ作成部４４による実行データの作成は、マスタープログラムに対し、ＵＩ画面１１０で入力された指示に基づく変換処理を順次実行することにより（例えば、マスタープログラム→変換Ａ→実行データＡ→変換Ｂ→実行データＢ→変換Ｃ→実行データＣ・・・といった手順を経て）行われる。「実行データ送信」ボタン１１３に対してマウスクリック等の操作を行うと、実行データ送信部４５が呼び出され、実行データ作成部４４により作成された実行データが制御装置２０に送信される。
【００４３】
また、本実施の形態では、上記のＵＩ画面１１０に示したように、個別の作業を一つずつマスタープログラムから実行データに変換する他に、いくつかの作業に係る実行データをまとめて作成することもできる。この場合、例えば、予め指定されたフォームのワークシートを作成して、教示データ編集装置４０に読み込ませることにより、実行データ作成部４４が、ワークシートの記述に基づき、該当するマスタープログラムから実行データを順次作成する。
【００４４】
図１２は、複数の実行データの連続的な作成に用いるワークシートの構成例を示す図である。
本実施の形態では、例えば、図１２に示すようなワークシート１２０の画面が教示データ編集装置４０の表示手段（例えば、図２に示す表示装置１０４）に表示される。図示の例では、１群の実行データとして、丸数字「１」〜「４」で示される４種類の継手に対する実行データの作成指示が記述されている。また、その後に丸数字「１」から始まる複数の実行データの作成指示が記述されている。個々の作成指示には、図１１に示したＵＩ画面１１０における入力項目に対応する項目が設けられる。このワークシート１２０の画面における各作成指示の各項目に必要な事項を入力しておく。
【００４５】
図１２に示すワークシート１２０には、継手ごとの各作成指示に、「ロボット」、「マスタープログラム（ＰＲＧ）」、「溶接条件」「ミラー」「溶接」の各項目と、ロボット１０の現在位置を取得するか否かを示す情報、作業対象のワークの形状に基づく変換パラメータが記述されている。「ロボット」には、使用するロボット１０の識別情報が記入される。「マスタープログラム（ＰＲＧ）」には、実行データの作成に使用するマスタープログラムの種類を示す情報が記入される。「溶接条件」には、実行ワークに対する溶接作業における溶接条件が記入される。「ミラー」は、ミラー変換を行うか否かを指定するためのチェックボックスが設けられ、「溶接」は溶接作業を実行するか否かを設定するためのチェックボックスが設けられている。また、図１２に示す例において、変換パラメータには、「基準点」のＸＹＺ座標値（マスター基準点の位置）、「開始点」のＸＹＺ座標値（開始基準点の位置）、「溶接長」の値（終了基準点の位置）、「ポジ回転値（ポジショナの設定値）」、「外部加算値（外部加算点の指定座標値）」、「回転変換（基準点回転の回転角度）」が記述されている。
【００４６】
なお、図１２に示すワークシート１２０は例示に過ぎず、図示の構成に限定するものではない。例えば、図示の例では、ロボット１０の現在位置の情報を１回だけ取得し、取得した情報に基づいて各作成指示における「基準点」のＸＹＺ座標値を算出するようにしているが、作成指示ごとに個別にロボット１０の現在位置の情報を取得するように構成しても良い。
【００４７】
図１２に示したようなワークシート１２０を用いて複数の実行データをまとめて作成する場合、実行データ作成部４４により、継手ごとに（図１２の丸数字で示される行ごとに）、対応するマスタープログラムに基づいて実行データを作成する処理が順次行われる。
【００４８】
〔マスタープログラムの作成手法〕
次に、本実施の形態で用いられるマスタープログラムの作成手法について説明する。
本実施の形態のマスタープログラムは、継手の種類に応じて選択された元教示データに変換形式命令を追加記述して、三つの基準点および各基準点に属す参照点を設定することにより作成される。この変換形式命令を記述する作業は、例えば、プログラム編集用のソフトウェア（エディタ等）を用い、手作業にて行うことができる。なお、元教示データについては、ロボット１０、制御装置２０および教示装置３０を用いて実機を動作させることによるダイレクト教示により作成しても良いし、実機を用いずにオフライン教示により作成しても良い。
【００４９】
〔実行データの作成例〕
次に、マスタープログラムに基づく実行データの作成例について説明する。
図１３は、元教示データの例を示す図であり、図１３（ａ）は、元教示データを得るために用いられたワークおよびロボット１０の動作のための教示点の位置を示し、図１３（ｂ）は、図１３（ａ）のワークに基づいて得られた元教示データを示す。
【００５０】
図１３（ａ）を参照すると、ワーク１３０に対して、７個の教示点ｐ１〜ｐ７が設定されている（ただし、教示点ｐ１と教示点ｐ７は同一の点）。また、図１３（ｂ）を参照すると、図１３（ａ）に示した教示点ｐ１〜ｐ７を示すステップ１〜ステップ７に加えて、３個の教示点を示すステップ８〜ステップ１０が記述されている。
【００５１】
図１４は、図１３に示す元教示データから作成されたマスタープログラムの例を示す図であり、図１４（ａ）は、マスタープログラムにおける基準点および参照点（教示点）を示し、図１４（ｂ）は、作成されたマスタープログラムを示す。なお、マスタープログラムは個別のワークに依存しない教示データであるが、図１４（ａ）では、各教示点と各基準点との関係を明確にするため、図１３（ａ）に示したワーク１３０を図示している。
【００５２】
図１４（ａ）を参照すると、ワーク１３０の継手の一端にマスター基準点Ｂｐおよび開始基準点Ｂｓが設定され、他端に終了基準点Ｂｅが設定されたことがわかる。また、図１４（ｂ）を参照すると、ステップ１にマスター参照点の変換形式命令（＃ＢＲＥＦ，ＳＸ，Ｙ，Ｚ）が記述され、ステップ７にマスター基準点の変換形式命令（＃ＢＲＥＦ，ＳＸ，Ｙ，Ｚ）が記述されており、教示点ｐ１および教示点ｐ７がマスター参照点として設定されたことがわかる。また、開始参照点の変換形式命令（＃ＳＲＥＦ，ＳＸ，Ｙ，Ｚ）が記述されており、教示点ｐ２〜教示点ｐ４が開始参照点として設定されたことがわかる。また、図１４（ｂ）において、ステップ５、ステップ６の各々に、終了参照点の変換形式命令（＃ＥＲＥＦ，ＳＸ，Ｙ，Ｚ）が記述されており、教示点ｐ５、教示点ｐ６が開始参照点として設定されたことがわかる。
【００５３】
また、図１４（ｂ）において、ステップ８にマスター基準点の変換形式命令（＃ＢＡＳＥＰ，＃ＤＥＬ）が記述されており、ステップ８により示される教示点がマスター基準点Ｂｐとして設定されたことがわかる。また、ステップ９に開始基準点の変換形式命令（＃ＢＳＴＡＲＴ，＃ＤＥＬ）が記述されており、ステップ９により示される教示点が開始基準点Ｂｓとして設定されたことがわかる。また、ステップ１０に終了基準点の変換形式命令（＃ＢＥＮＤ，＃ＤＥＬ）が記述されており、ステップ１０に示される教示点が終了基準点Ｂｅとして設定されたことがわかる。なお、ステップ８およびステップ９に示される教示点の座標値は同一であり、図１４（ａ）に示すように、マスター基準点Ｂｐと開始基準点Ｂｓとが同一の位置に設定されていることがわかる。また、各基準点の変換形式命令には、optionsに「ＤＥＬ」が指定されている。
【００５４】
図１５は、図１４に示すマスタープログラムから作成された実行データの例を示す図である。図１５に示す例では、マスター基準点Ｂｐの位置を変更して実行データが作成されている。図１５（ａ）は、実行データによる作業対象のワーク（以下、対象ワーク）１５０および教示点の位置を示し、図１５（ｂ）は、実行データを示す。なお、図１５（ａ）には、マスター基準点Ｂｐの移動後の対象ワーク１５０を実線で示し、マスター基準点Ｂｐの移動が行われなかった場合の対象ワーク１５０の位置を破線で示している。
【００５５】
マスター基準点の移動では、固定教示点以外の全ての点、すなわち、開始基準点、終了基準点および各基準点に属す参照点（教示点）が、マスター基準点に伴って移動する。図１４に示したマスタープログラムの例では、固定教示点は存在しないので、全ての点が移動する。図１５（ａ）を参照すると、各基準点Ｂｐ、Ｂｓ、Ｂｅおよび教示点ｐ１〜ｐ７が同じ方向に同じ量だけ移動することにより、対象ワーク１５０が変形せずに移動している。
【００５６】
また、図１５（ｂ）を参照すると、各教示点ｐ１〜ｐ７を示すステップ１〜ステップ７の全てで、座標値が同様に変更されている。なお、マスタープログラムのステップ８〜ステップ１０には、変換形式命令のoptionsに「ＤＥＬ」が指定されていたため、図１５（ｂ）に示す実行データでは、ステップ８〜ステップ１０が削除されている。これは、実行データに基づくロボット１０の動作において、各基準点Ｂｐ、Ｂｓ、Ｂｅは不要であるため、実行データの作成に際して削除したものである。
【００５７】
図１６は、図１４に示すマスタープログラムから作成された実行データの他の例を示す図である。図１６に示す例では、開始基準点Ｂｓの位置を変更して実行データが作成されている。図１６（ａ）は、実行データの対象ワーク１６０および教示点の位置を示し、図１６（ｂ）は、実行データを示す。なお、図１６（ａ）には、開始基準点Ｂｓの移動後の対象ワーク１６０を実線で示し、開始基準点Ｂｓの移動が行われなかった場合の対象ワーク１６０の位置（部分）を破線で示している。
【００５８】
開始基準点の移動では、終了基準点が開始基準点と共に移動し、これに伴って開始基準点に属す参照点（教示点）および終了基準点に属す参照点（教示点）が移動する。図１４に示したマスタープログラムの例では、教示点ｐ２〜ｐ４が開始基準点Ｂｓに属す開始参照点であり、教示点ｐ５、ｐ６が終了基準点Ｂｅに属す終了参照点であるので、これらの点が移動する。図１６（ａ）を参照すると、基準点Ｂｓ、Ｂｅおよび教示点ｐ２〜ｐ６が同じ方向に同じ量だけ移動することにより、対象ワーク１６０が変形せずに移動している。また、これらの教示点ｐ２〜ｐ６は、マスター参照点である教示点ｐ１、ｐ７との間の相対的な位置関係が変化している。
【００５９】
また、図１６（ｂ）を参照すると、教示点ｐ２〜ｐ４を示すステップ２〜ステップ４において、座標値が同様に変更されている。なお、マスタープログラムのステップ８〜ステップ１０には、変換形式命令のoptionsに「ＤＥＬ」が指定されていたため、図１６（ｂ）に示す実行データでは、ステップ８〜ステップ１０が削除されている。
【００６０】
図１７は、図１４に示すマスタープログラムから作成された実行データのさらに他の例を示す図である。図１７に示す例では、終了基準点Ｂｅの位置を変更して実行データが作成されている。図１７（ａ）は、実行データの対象ワーク１７０および教示点の位置を示し、図１７（ｂ）は、実行データを示す。なお、図１７（ａ）には、終了基準点Ｂｅの移動後の対象ワーク１７０を実線で示し、終了基準点Ｂｅの移動が行われなかった場合の対象ワーク１７０の位置（部分）を破線で示している。
【００６１】
終了基準点の移動では、終了基準点に属す参照点（教示点）が、終了基準点の移動に伴って移動する。図１４に示したマスタープログラムの例では、教示点ｐ５、ｐ６が終了基準点Ｂｅに属す終了参照点であるので、これらの点が移動する。図１７（ａ）を参照すると、終了基準点Ｂｅおよび教示点ｐ５、ｐ６が同じ方向に同じ量だけ移動しており、これにより、対象ワーク１７０が変形している。また、これらの教示点ｐ５、ｐ６は、マスター参照点である教示点ｐ１、ｐ７および開始参照点である教示点ｐ２〜ｐ４との間の相対的な位置関係が変化している。
【００６２】
また、図１７（ｂ）を参照すると、教示点ｐ５、ｐ６を示すステップ５、ステップ６において、座標値が同様に変更されている。なお、マスタープログラムのステップ８〜ステップ１０には、変換形式命令のoptionsに「ＤＥＬ」が指定されていたため、図１６（ｂ）に示す実行データでは、ステップ８〜ステップ１０が削除されている。
【００６３】
以上、図１３乃至図１７を参照して説明したように、本実施の形態では、三つの基準点を適宜移動することにより、同一のマスタープログラムに基づいて様々な対象ワークに対する実行データを作成することができる。上記の例では、マスター基準点、開始基準点、終了基準点を単独で移動させた場合に作成される実行データの例を示したが、各基準点の移動を組み合わせて、さらに位置や形状の異なる対象ワークに対する実行データを作成することもできる。また、上述した「基準点回転」や「ミラー対称」を用いたり、これらと各基準点の移動とを組み合わせることにより、さらに多くの種類の対象ワークに対する実行データを作成することができる。
【００６４】
以上説明したように、本実施の形態によれば、ワークに依存せずにロボット１０の動作を記述したマスタープログラムに基づいて実行データを作成することにより、種々の条件に応じた汎用性の高い教示システムを実現することができる。
また、本実施の形態では、マスタープログラムから実行データを作成するには、ロボット１０の現在位置を制御装置２０から取得して入力すると共に、必要に応じて基準点を移動させるための開始点位置および溶接線長の値を入力するだけで良い（元教示データの作成時におけるワークの位置と、溶接時の対象ワークの位置とが同じである場合、ロボット１０の現在位置の取得も不要）。したがって、ワークのＣＡＤモデルを用意して対比する必要がないため、特定の具体的な教示データから類似するワークのための教示データを作成する場合と比較して、作業に要する手間を大幅に削減することができる。
【符号の説明】
【００６５】
１０…ロボット、２０…制御装置、４０…教示データ編集装置、４１…マスタープログラム管理部、４２…ＵＩ制御部、４３…位置情報取得部、４４…実行データ作成部、４５…実行データ送信部
【図１】
0005970434.tif 000002
【図２】
0005970434.tif 000003
【図３】
0005970434.tif 000004
【図４】
0005970434.tif 000005
【図５】
0005970434.tif 000006
【図６】
0005970434.tif 000007
【図７】
0005970434.tif 000008
【図８】
0005970434.tif 000009
【図９】
0005970434.tif 000010
【図１０】
0005970434.tif 000011
【図１１】
0005970434.tif 000012
【図１２】
0005970434.tif 000013
【図１３】
0005970434.tif 000014
【図１４】
0005970434.tif 000015
【図１５】
0005970434.tif 000016
【図１６】
0005970434.tif 000017
【図１７】
0005970434.tif 000018