(57)【要約】      （修正有）【課題】種類の異なるロボットへのティーチング作業の煩雑さを解消し、作業効率向上を図るティーチングデータの作成方法を提供する。【解決手段】３次元ＣＡＤ装置７で作成したロボットの動作のシミュレーションデータをオフラインティーチングデータ自動変換装置５に取り込んで、ネットワークで接続されたプログラミング言語変換ＤＢ６内に記録されている情報を用いて、シミュレーションデータをロボット１，２ごとに定められているプログラミング言語に適合したデータに変換し、変換したデータをロボット１，２の動作を制御するティーチングデータとして出力する。【選択図】      図１
2004237364.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを用いた設計支援装置に搭載されたプログラミング言語を使って作成されたデータであって、生産ラインに使用されるロボットの動作を記述した第一のデータを取得して、前記ロボットの制御用に使用されるプログラミング言語で作成された第二のデータであるティーチングデータを作成するにあたり、前記第一のデータを記述するために用いられるプログラミング言語の命令と、前記ティーチングデータを記述するために前記ロボットの種類ごとに用いられるプログラミング言語の命令とを対応付けて構築されたデータベースを、前記第一のデータに含まれる前記ロボットの種類を特定する情報と、前記第一のデータに記述されている命令とで検索して、前記ロボットの種類ごとに用いられるプログラミング言語の命令を取得し、前記第一のデータの命令を前記ティーチングデータを記述するプログラミング言語の命令に変換することを特徴とするロボットのティーチングデータの作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットの動作をティーチングするデータをオフラインで作成する方法に関する。
【０００２】
【従来の技術】
自動車の製造工程のうち、溶接や、塗装などの幾つかの工程では、コンベアで搬送される車体などのワークに対してロボットが自動で作業を行う方法がとられている。この場合に、ロボットには、必要な作業の内容や、移動量（位置）、動作のタイミングなどの情報を、あらかじめ記憶させておく必要がある。
【０００３】
実際の製造を行う前に、製造に必要な情報をロボットに記憶させることをティーチング（教示）といい、この作業は、ロボットの製造メーカー（ロボット製造メーカー）から提供されるプログラムやデータ処理装置を利用して作成したティーチングデータをロボットのコントローラに登録することにより行われている（例えば、特許文献１参照。）。
【０００４】
特許文献１では、溶接ロボットのティーチングデータを作成する３次元オフライン自動ティーチングシステムが開示されている。この３次元オフライン自動ティーチングシステムは、溶接部材の設計ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）データを読み込んで、溶接ロボットのロボット製造メーカーごとに異なる複数種類のパターンを定義したデータベースを参照しながら、部材形状の認識や、溶接姿勢の決定、動作パターンの選択を行い、その溶接ロボットに適合したティーチングデータを作り出す。この３次元オフライン自動ティーチングシステムで作成されたティーチングデータを溶接ロボットのコントローラに登録すると、その溶接ロボットで溶接部材の溶接が可能になる。また、グラフィックディスプレー上で３次元動作シミュレーションを行って、動作の適否を確認できる。
【０００５】
【特許文献１】
特開平１０−２０７５２４号公報（段落番号０００１、０００５から０００７、００２１、００５４、図１）
【０００６】
【発明が解決しようとする課題】
前記したようにオフラインでティーチングデータが作成できる場合であっても、姿勢の決定や、パターンの選択などは、ロボット製造メーカーが指定するプログラミング言語に従って行う必要があるので、作業者はロボット製造メーカーが指定するプログラミング言語に習熟しなければならない。ここで、生産ライン上は、種類の異なる多数のロボットを配置することが多く、異なるロボット製造メーカーのロボットを使用する際には、各ロボット製造メーカーごとに異なるデータ処理装置を用意し、作業者は、各ロボット製造メーカーごとに異なるプログラミング言語に習熟しなければならなかった。特に、複数種類の製品を生産する生産ラインや、定期的に新しい製品の生産を開始する生産ラインでは、このような問題はさらに顕著なものになる。
本発明は、前記の問題を鑑みてなされたものであり、その目的とするところは、生産ラインにおいてロボットを用いて自動生産を行う際に、ロボットの動作をティーチングする作業の煩雑さを解消し、作業効率の向上を図ることである。
【０００７】
【課題を解決するための手段】
前記の課題を解決するために、本発明では生産ラインのレイアウト設計などのために作成されるデータに着目し、そのようなデータから各ロボットに適合したティーチングデータを作成するようにした。すなわち、コンピュータを用いた設計支援装置に搭載されたプログラミング言語を使って作成されたデータであって、生産ラインに使用されるロボットの動作を記述した第一のデータを取得して、ロボットの制御用に使用されるプログラミング言語で作成された第二のデータであるティーチングデータを作成するにあたり、第一のデータを記述するために用いられるプログラミング言語の命令と、ティーチングデータを記述するためにロボットの種類ごとに用いられるプログラミング言語の命令とを対応付けて構築されたデータベースを、第一のデータに含まれるロボットの種類を特定する情報と、第一のデータに記述されている命令とで検索して、ロボットの種類ごとに用いられるプログラミング言語の命令を取得し、第一のデータの命令をティーチングデータを記述するプログラミング言語の命令に変換するものである。
【０００８】
第一のデータのデータ形式は、本来はロボットの動作を制御するデータとは異なるが、データベースを利用してデータの必要な箇所を変換することで、直接にロボットを制御できる形式のデータに変換されることになる。種類の異なる複数のロボットのティーチングデータを作成する際でも、設計支援装置で作成したデータ形式を変換するだけで、ロボットの種類ごとに異なる形式のデータを作成することができる。
【０００９】
【発明の実施の形態】
本発明の実施形態について図面を参照しながら詳細に説明する。
本実施形態は、自動車などの生産ラインにおいて、ロボットを用いて自動車ごとに定められた溶接や、塗装、あるいは部品の搬送などを自動で行うにあたり、その動作の手順を記述したプログラムからなるティーチングデータを、生産ラインの作業者が使用する３次元の設計支援（ＣＡＤ）装置で作成した第一のデータ（ロボットシミュレーションデータ）から、ロボットの制御に適した形式の第二のデータとして作成するものである。
【００１０】
図１は、ティーチングデータの作成処理が行われるシステムの概略構成図である。図１には、生産ラインに配設される種類の異なる多数のロボットの例として、部品の搬送を行うアーム部分１ａおよびコントローラ１ｂとからなるロボット１と、塗装を行うアーム部分２ａおよびコントローラ２ｂからなるロボット２とが図示されており、ロボット１またはロボット２に適合した形式のティーチングデータがオフラインティーチングデータ自動変換装置５により作成されるようになっている。なお、ロボット１とロボット２とは、プログラム形式の異なるティーチングデータで動作の制御が行われるものとする。その理由としては、ロボット１とロボット２との製造メーカーが異なることや、ロボット１，２の役割に応じて先端部分の構成や、関節数などが異なることがあげられる。また、生産ラインに配置されるロボットの種類は、１種類でも良いし、３種類以上でも良い。同様に、ロボットの動作に使用されるプログラミング言語の種類も１種類でも良いし、複数の種類でも良い。
【００１１】
ティーチングデータをオフライン、つまりロボット１，２とは独立に作成できるデータ処理装置であるオフラインティーチングデータ自動変換装置５は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などを備える制御装置や、データの記憶が可能な記憶装置、他のコンピュータと通信するための通信制御装置などを備えるコンピュータに所定のプログラムを起動させることで実現され、生産ラインを構成する設備のデータとして作成されるロボットシミュレーションデータを取り込んでロボット１，２ごとのティーチングデータを作成し、出力する。また、このオフラインティーチングデータ自動変換装置５には、必要に応じて、キーボードなどの入力手段や、表示手段が付加される。
【００１２】
なお、ティーチングデータを作成するにあたって、オフラインティーチングデータ自動変換装置５の制御装置は、他のコンピュータなどに置かれているプログラミング言語変換ＤＢ（Ｄａｔａｂａｓｅ）６を参照して、ロボットシミュレーションデータに含まれる所定の情報を、該当するロボット１，２に適合したプログラミング言語で記述された情報に変換し、ティーチングデータを作成する処理を行う変換処理手段５１（図２参照）として機能する。
【００１３】
ここで、ロボットシミュレーションデータとは、生産ラインの設計者や、工程管理を行う作業者が、生産ラインで使用する設備の設計作業や、レイアウト作業を３次元ＣＡＤ装置７を用いて行った結果として得られるデータであって、治工具、搬送装置、移載装置、付帯設備などの設計データからロボット１，２に関連する部分を抽出したものである。通常、この種のデータは、生産ラインを流れる自動車などの製品間の干渉や、ロボット１，２間の干渉、製品とロボット１，２の間の干渉などを検証するシミュレーションのために用いられる。図２にロボットシミュレーションデータのデータ構成の一例を示す。ロボットシミュレーションデータＲＤは、設計者が絶対座標軸上でのロボット１，２の座標軸のずれ量、傾き、およびロボット１，２の駆動モデルのデータなどの変数を環境のデータとして記録する設定情報（環境情報）ｒｄ１と、マスタファイル（変数をシンボル（コマンド）化して記述したファイル）ｒｄ２と、移動軌跡や姿勢情報といったロボット１，２の動作形態の情報や、移動速度（速度指令）などを指示する命令文を主要素とするメインデータｒｄ３とからなり、３次元ＣＡＤ装置７に搭載されているプログラミング言語に則ったデータ形式になっている。
【００１４】
また、異なるプログラミング言語間の変換処理の際に参照されるデータベースであるプログラミング言語変換ＤＢ６は、ロボット１，２に特定の処理（動作）を行わせる命令（コマンド）であって、ロボットシミュレーションデータＲＤを作成する３次元ＣＡＤ装置７に搭載されているプログラミング言語で記述された命令と、ロボット１，２のコントローラ１ｂ，２ｂがデータ処理可能なプログラミング言語で記述された命令とが、同じ処理を実現する命令どうしを関連付けて格納されている。以下、区別のために、３次元ＣＡＤ装置７に搭載されているプログラミング言語を変換元言語とし、ロボット１で使用されるプログラミング言語を第一の変換先言語、ロボット２で使用されるプログラミング言語を第二の変換先言語とする。
【００１５】
このプログラミング言語変換ＤＢ６は、図２に示すように、変換元言語と第一の変換先言語とで同じ処理を行わせる命令どうしを関連付けて構築し、ロボット１のティーチングデータＴＤ１の作成に用いられるプログラミング言語変換ＤＢ６ａと、変換元言語と第二の変換先言語とで同じ処理を行わせる命令どうしを関連付けて構築し、ロボット２のティーチングデータＴＤ２の作成に用いられるプログラミング言語変換ＤＢ６ｂとを別々に備え、ロボットシミュレーションデータＲＤに含まれるロボット１，２の種類を特定する情報を識別子としてデータベースの選択を行えるようにする。
【００１６】
これに対して、変換元言語と、第一の変換先言語及び第二の変換先言語とで同じ処理を行わせる命令どうしを関連付けて、１つのデータベースを構築し、データベース内のデータをロボット１，２の種類を検索条件によって選択するようにしても良い。
図３に一例を示すプログラミング言語変換ＤＢ６ｃは、設計者が３次元ＣＡＤ装置７でシミュレーションを行う際に各ロボット１，２について３次元ＣＡＤ装置７用の命令として使用される変換元言語の命令（「ＪＮＴＩ」、「ＬＩＮＩ」など）と、ロボット１の制御に用いられる第一の変換先言語の命令（「カクジク」、「チョクセン」など）と、ロボット２の制御に用いられる第二の変換先言語の命令（「ＭＯＶＪ」、「ＭＯＶＬ」など）とが対応付けて格納されている。すなわち、プログラミング言語変換ＤＢ６ｃでは、３次元ＣＡＤ装置７が使用するデータ形式での命令、例えば「ＪＮＴＩ」と、ロボット１のコントローラ１ｂが処理可能なデータ形式での命令である「カクジク」と、ロボット２のコントローラ２ｂが処理可能なデータ形式での命令である「ＭＯＶＪ」とが同一の処理を行わせる命令であるとの定義付けがなされている。図３の例では、命令が各プログラミング言語ごとに配列されて格納されているので、ロボット１又はロボット２を検索子とすることで必要な命令のみを抽出することができる。
【００１７】
次に、図２に示すティーチングデータＴＤ１，ＴＤ２が作成される処理の具体例について、以下に説明する。
まず、オフラインティーチングデータ自動変換装置５は、３次元ＣＡＤ装置７を用いて作成したロボットシミュレーションデータＲＤを取得する。入力手法としては、記録媒体に記録したロボットシミュレーションデータＲＤを読み取り装置で読み取ることや、ネットワーク回線を利用してロボットシミュレーションデータＲＤを受信することがあげられる。
【００１８】
ロボットシミュレーションデータＲＤを取得したオフラインティーチングデータ自動変換装置５は、ロボットシミュレーションデータＲＤから制御対象の情報をマスタファイルｒｄ２から抽出する。さらに、抽出した制御対象の情報から変換処理に使用するデータベースを決定し、ネットワークを経由して、該当するプログラミング言語変換ＤＢ６ａ，６ｂに接続する。
【００１９】
例えば、図１のロボット１が制御対象である場合には、そのロボット１に適合するデータが格納されているプログラミング言語変換ＤＢ６ａに接続する。
変換処理手段５１は、ロボットシミュレーションデータＲＤのメインデータｒｄ３の領域に記述されている命令（変換元命令とする）をファイル検索して、その変換元命令に対応付けて登録され、かつロボット１の制御用のデータとして処理可能な命令（変換先命令とする）を取得する。そして、取得した変換先命令に変換元命令を置き変え、つまり命令の変換を行う。すべての命令の変換が終了したら、変換後の命令からなるデータを、そのロボット１の動作制御のためのティーチングデータＴＤ１として、ネットワークを通じて、あるいは記録媒体を介して、ロボット１のコントローラ１ｂ（図１参照）に受け渡す。
【００２０】
ここでの変換処理をさらに具体例をあげて説明する。
オフラインティーチングデータ自動変換装置５の変換処理手段５１（図２参照）は、図４（ａ）に示すようにロボットシミュレーションデータＲＤに「ＪＮＴＩ＊＊＊＊」（「ＪＮＴＩ」が命令であり、「＊＊＊＊」は命令の引数である）という命令文がある場合には、命令「ＪＮＴＩ」でプログラミング言語変換ＤＢ６ａを検索して、「ＪＮＴＩ＝カクジク」という相関関係を取得し、「ＪＮＴＩ」という命令を、「カクジク」という命令に変換し、命令文「カクジク＊＊＊＊」とする。このような変換作業は、ロボットシミュレーションデータＲＤの全ての命令を対象にして行われ、変換作業を終了したデータが、ロボット１の動作制御を行うことができるティーチングデータＴＤ１になる。
【００２１】
なお、前記のロボット１と異なるロボット２のティーチングデータＴＤ２を作成する際には、ロボットシミュレーションデータＲＤで特定されるロボットの種類に応じて、そのコントローラ２ｂが使用する命令を変換先命令として格納したデータベース（図１のプログラミング言語変換ＤＢ６ｂ）が選択され、データの変換処理が行われる。例えば、図４（ｂ）に示すように、ロボットシミュレーションデータＲＤに「ＪＮＴＩ＊＊＊＊」という命令文がある場合には、命令「ＪＮＴＩ」でプログラミング言語変換ＤＢ６ｂを検索して、「ＪＮＴＩ＝ＭＯＶＪ」という関係を取得し、「ＪＮＴＩ」という命令を、「ＭＯＶＪ」という命令に変換し、命令文「ＭＯＶＪ＊＊＊＊」とする。ロボットシミュレーションデータＲＤの全ての命令の変換作業が終了したデータが、ロボット２の動作制御を行うことができるティーチングデータＴＤ２になる。
【００２２】
本実施形態のオフラインティーチングデータ自動変換装置５は、部材のデータのみを読み取るだけではなく、ロボット１，２を実際に生産ラインに配置した際の干渉などのシミュレーションに使用したロボット１，２のデータを取り込むようにし、ネットワークで接続されたデータベース内に記録されている情報を用いて、シミュレーション用のデータをロボット１，２ごとに定められているプログラミング言語に適合したデータに変換して出力することが可能になる。このため、作業者は３次元ＣＡＤ装置７のプログラミング言語のみを習得していれば、ロボット製造メーカーごとに異なる複数のプログラミング言語を知らなくても自動的にロボット１，２のティーチングデータＴＤ１，ＴＤ２を作成できる。
【００２３】
また、３次元ＣＡＤ装置７で干渉のシミュレーションを行う作業と、ロボット１やロボット２のティーチングデータの作成作業とを別々に行う場合に比べて、シミュレーションで作成するデータを有効に活用することができるので、作業効率を向上させることができる。さらに、この場合にティーチングデータを作成するために用いるデータは、他の要素との干渉がないように調整された後のデータであるので、ティーチングデータの作成後に干渉の有無をチェックする手間を省略できるという利点も有する。
【００２４】
なお、本発明は、前記の実施形態に限定されずに広く応用することができる。オフラインティーチングデータ自動変換装置５の記憶装置にプログラミング言語変換ＤＢ６を記憶させておいても良い。
【００２５】
また、ロボットシミュレーションデータＲＤの入力元と、変換後のティーチングデータＴＤ１，ＴＤ２の出力先とを、ロボット１，２を特定して行うための表示画面をオフラインティーチングデータ自動変換装置５の表示装置に表示させても良い。その一例を図５に示す。この表示画面８は、変換元のデータであるロボットシミュレーションデータＲＤを選択する変換元選択領域８１と、ティーチングデータＴＤ１，ＴＤ２を作成するロボット１，２を選択するロボット選択領域８２と、ティーチングデータＴＤ１，ＴＤ２の出力先を特定する出力先選択領域８３とを備える。変換元選択領域８１は、ロボットシミュレーションデータＲＤが記憶されている記憶媒体やディレクトリを選択する領域８１ａと、ロボットシミュレーションデータＲＤのファイル名を選択する領域８１ｂとを有する。ロボット選択領域８２は、生産ラインを選択する領域８２ａと、工程を選択する領域８２ｂと、ロボット１，２を選択する領域８２ｃとを有し、複数の生産ラインや多工程の生産工場であってもロボット１，２を特定しやすくしている。出力先選択領域８３は、変換して作成したティーチングデータＴＤ１，ＴＤ２の記録媒体の名称や、他のコンピュータの名称、ディレクトリを表示させ、作業者が出力先を指定できるようになっている。この出力先選択領域８３にティーチングデータＴＤ１，ＴＤ２のファイル名を入力する領域を設けても良い。ちなみに、表示画面８は、変換処理の実行を指示するボタン８４と、この画面を閉じて処理を終了させるボタン８５とを備えている。このような表示画面を用いると、種類の異なる多数のロボットを使って生産ラインを構成する場合に、ロボットの動作制御の設定処理が容易になる。
【００２６】
【発明の効果】
本発明によれば、設計支援装置で作成したロボットの動作を記述したデータをコンピュータに入力することにより、同じ内容を各ロボットの種類ごとのプログラミング言語で記述したティーチングデータを生成することが可能になる。これにより、種類の異なるロボットが複数ある場合であっても、ティーチングデータの作成が容易になり、作業効率を向上させることができる。
【図面の簡単な説明】
【図１】本発明の実施形態におけるティーチングデータの作成処理が行われるシステムの概略構成図である。
【図２】ティーチングデータの生成過程の一例を示す図である。
【図３】プログラミング言語変換データベースの一例を示す図である。
【図４】（ａ）、（ｂ）データの変換処理を説明する図である。
【図５】作業者が操作する画面の一例を示す図である。
【符号の説明】
１      ロボット
２      ロボット
１ｂ    コントローラ
２ｂ    コントローラ
５      オフラインティーチングデータ自動変換装置
６      プログラミング言語変換データベース
７      ３次元ＣＡＤ（設計支援装置）
ＲＤ    ロボットシミュレーションデータ
ＴＤ１  ティーチングデータ
ＴＤ２  ティーチングデータ
【図１】
2004237364.tif 000003
【図２】
2004237364.tif 000004
【図３】
2004237364.tif 000005
【図４】
2004237364.tif 000006
【図５】
2004237364.tif 000007