(57)【要約】【課題】ワークが替わるたびにプログラムを新たに作り直す必要がなく、ロボットの教示作業に必要な時間を短縮することができるロボット教示システムを提供する。【解決手段】ロボット教示システム１０は、ロボット１１と、ロボットコントローラ１２と、ロボット１１に取付自在のツール１３と、ロボットコントローラ１２を制御する制御部２０とを備えている。制御部２０は、ワーク固有データ３０が入力される入力部２１と、ロボット１１の種類およびツール１３の種類を指定する作業指定部２２と、作業指定部２２からの情報に基づいてロボット制御用中間言語３１を作成する中間言語作成部２３とを有している。最終言語作成部２４において、ワーク固有データ３０とロボット制御用中間言語３１とに基づいてロボット制御用最終言語３２が作成され、出力部２５を介してロボットコントローラ１２へ送られる。【選択図】図１
2009098709.tif 000002
【特許請求の範囲】
【請求項１】
ワークに対して加工作業を行なうロボットを教示するロボット教示システムにおいて、
ロボットと、
ロボットに接続されたロボットコントローラと、
ロボットに取付自在のツールと、
ロボットコントローラに接続され、ロボットコントローラを制御する制御部とを備え、
制御部は、
加工作業を行なうワークに固有のワーク固有データが入力される入力部と、
ロボットの種類およびツールの種類を指定する作業指定部と、
作業指定部からの情報に基づいてロボットの種類およびツールの種類に合わせたロボット制御用中間言語を作成する中間言語作成部と、
入力部からのワーク固有データと中間言語作成部からのロボット制御用中間言語とに基づいてロボットの種類およびツールの種類に合わせたロボット制御用最終言語を作成する最終言語作成部と、
ロボット制御用最終言語をロボットコントローラへ送る出力部とを有することを特徴とするロボット教示システム。
【請求項２】
ワーク固有データは、ツールの移動先、ツールの移動速度、およびＩ／Ｏ信号を含むことを特徴とする請求項１記載のロボット教示システム。
【請求項３】
制御部は、教示作業終了後にロボットコントローラから切離されることを特徴とする請求項１記載のロボット教示システム。
【請求項４】
ツールは、半田付け用ツール、ねじ締め用ツール、溶接用ツール、および塗装用ツール等からなる群から選択されることを特徴とする請求項１記載のロボット教示システム。
【請求項５】
ロボットコントローラに接続されるとともにツールに接続されたツールコントローラを更に備え、ツールコントローラは、ロボットコントローラにより制御されることを特徴とする請求項１記載のロボット教示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工対象（ワーク）に対して加工作業を行なうロボットを教示（ティーチング）するロボット教示システムに係り、とりわけロボットの教示作業に必要な時間を短縮することができるロボット教示システムに関する。
【背景技術】
【０００２】
一般に、半田付け、ねじ締め等の作業をロボットに行なわせる場合、予め各作業に対応するツールをロボット先端に取付け、その後ロボットに各作業位置を教示する。この場合、ロボットを手動で実際に操作して位置決めを行ない、各作業位置を１箇所ずつロボットに教示する必要がある。
【０００３】
このため、ロボットを実際に動作させることなくオフラインで教示作業を行なうことが難しく、ロボットの教示作業に時間がかかっている。
【０００４】
とりわけ新たなワークに対して教示作業を行なう場合、一般にロボットのプログラムを一から作成する必要がある。この際、新たなワークに合わせてロボットを実際に動作させることにより、新たなプログラムをロボットコントローラに記憶させる作業が必要となる。このため新たなワークが生じるたびに、プログラムの作成に時間と手間がかかることとなる。
【０００５】
またユーザは、ロボットプログラムを作成するための専門知識を有する必要がある。しかしながら、その言語体系がロボットの種類（例えば、直交ロボット、スカラロボット、垂直多関節ロボット等）によって異なっているため、煩雑である。
【特許文献１】特開平９−１６７００７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明はこのような点を考慮してなされたものであり、ワークが替わるたびにプログラムを新たに作り直す必要がなく、ロボットの教示作業に必要な時間を短縮することができ、かつロボットプログラミングに関する難解な知識を必要とせずに容易に教示作業を行なうことができるロボット教示システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ワークに対して加工作業を行なうロボットを教示するロボット教示システムにおいて、ロボットと、ロボットに接続されたロボットコントローラと、ロボットに取付自在のツールと、ロボットコントローラに接続され、ロボットコントローラを制御する制御部とを備え、制御部は、加工作業を行なうワークに固有のワーク固有データが入力される入力部と、ロボットの種類およびツールの種類を指定する作業指定部と、作業指定部からの情報に基づいてロボットの種類およびツールの種類に合わせたロボット制御用中間言語を作成する中間言語作成部と、入力部からのワーク固有データと中間言語作成部からのロボット制御用中間言語とに基づいてロボットの種類およびツールの種類に合わせたロボット制御用最終言語を作成する最終言語作成部と、ロボット制御用最終言語をロボットコントローラへ送る出力部とを有することを特徴とするロボット教示システムである。
【０００８】
本発明は、ワーク固有データは、ツールの移動先、ツールの移動速度、およびＩ／Ｏ信号を含むことを特徴とするロボット教示システムである。
【０００９】
本発明は、制御部は、教示作業終了後にロボットコントローラから切離されることを特徴とするロボット教示システムである。
【００１０】
本発明は、ツールは、半田付け用ツール、ねじ締め用ツール、溶接用ツール、および塗装用ツール等からなる群から選択されることを特徴とするロボット教示システムである。
【００１１】
本発明は、ロボットコントローラに接続されるとともにツールに接続されたツールコントローラを更に備え、ツールコントローラは、ロボットコントローラにより制御されることを特徴とするロボット教示システムである。
【発明の効果】
【００１２】
本発明によれば、制御部が、入力部からのワーク固有データと中間言語作成部からのロボット制御用中間言語とに基づいてロボットの種類およびツールの種類に合わせたロボット制御用最終言語を作成するので、ワークが替わるたびにプログラムを最初から作り直す必要がなく、ロボットの教示作業に必要な時間を短縮することができる。また、ロボットプログラミングに関する難解な知識を必要とせずにロボットプログラム（ロボット制御用最終言語）を容易に作成することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施の形態について、図１乃至図３を参照して説明する。
ここで、図１は、本発明の一実施の形態を示す全体構成図であり、図２は、ワーク固有データ、ロボット制御用中間言語、およびロボット制御用最終言語の具体例を示す図であり、図３は、最終言語作成部における作用を示すフロー図である。
【００１４】
まず、図１および図２により、本実施の形態によるロボット教示システムの概略について説明する。
図１に示すように、ロボット教示システム１０は、ロボット１１と、ロボット１１に接続されたロボットコントローラ１２と、ロボット１１に取付自在のツール１３と、ロボットコントローラ１２に接続されるとともにツール１３に接続されたツールコントローラ１４とを備えている。
【００１５】
このうちロボット１１は、様々なワークに対して加工作業を行なうロボットであり、例えば直交ロボット、スカラロボット、垂直多関節ロボット等からなっている。またツール１３は、例えば半田付け用ツール、ねじ締め用ツール、溶接用ツール、および塗装用ツール等からなる群から適宜選択されるツールからなっている。
【００１６】
また図１に示すように、ロボットコントローラ１２を制御する制御部２０が設けられている。制御部２０は、例えばコンピュータ等からなる機器内に設けられていても良い。この制御部２０は、加工作業を行なうワークに固有のワーク固有データ３０が入力される入力部２１と、ロボット１１の種類およびツール１３の種類を指定する作業指定部２２と、作業指定部２２からの情報に基づいてロボット１１の種類およびツール１３の種類に合わせたロボット制御用中間言語３１を作成する中間言語作成部２３とを有している。
【００１７】
入力部２１に入力されるワーク固有データ３０としては、例えばＤＸＦファイル等のＣＡＤデータ、またはガーバーデータ等のＣＡＭデータ等の外部データを用いることができる。あるいはワーク固有データ３０として、予め制御部２０内に蓄積されている内部データが用いられても良い。具体的には、ワーク固有データ３０は、ツール１３の移動先、ツール１３の移動速度、およびＩ／Ｏ信号を含むものを用いることができる（図２参照）。他方ロボット制御用中間言語３１は、ロボット１１の種類に依存しない言語体系からなり、例えば動作プログラムの形式であっても良く、あるいはスクリプト言語で記述されたスクリプトファイルからなっていても良い（図２参照）。
【００１８】
また図１に示すように、入力部２１および中間言語作成部２３に最終言語作成部２４が接続されている。この最終言語作成部２４は、入力部２１からのワーク固有データ３０と中間言語作成部２３からのロボット制御用中間言語３１とに基づいて、ロボット１１の種類およびツール１３の種類に合わせたロボット制御用最終言語３２を作成するものである。
【００１９】
さらに最終言語作成部２４に、ロボット制御用最終言語３２をＲＳ２３２Ｃまたはイーサネット（登録商標）等の接続手段を介してロボットコントローラ１２へ送る出力部２５が接続されている。なおロボット制御用最終言語３２は、ロボットコントローラ１２がロボット１１を制御するためのプログラム言語であり、ロボット１１の種類により異なる言語体系が用いられる（図２参照）。
【００２０】
次に、このような構成からなる本実施の形態の作用について、図１を用いて説明する。
まず、ＤＸＦファイル等のＣＡＤデータまたはガーバーデータ等のＣＡＭデータ等からなるワーク固有データ３０を入力部２１に入力する。あるいは、予め制御部２０内に蓄積されているワーク固有データ３０が入力部２１に入力される。
【００２１】
次に、作業指定部２２において、ロボット１１の種類（例えば直交ロボット、スカラロボット、垂直多関節ロボット）およびツール１３の種類（例えば半田付け用ツール、ねじ締め用ツール、溶接用ツール、および塗装用ツール）が指定される。この場合、入力部２１に入力されたワーク固有データ３０に基づいて自動的にロボット１１の種類およびツール１３の種類が指定されても良い。あるいは、使用するロボット１１の種類およびツール１３の種類をユーザが適宜指定しても良い。
【００２２】
このようにして作業指定部２２で指定された情報に基づいて、中間言語作成部２３において、ロボット１１の種類およびツール１３の種類に合わせたロボット制御用中間言語３１が自動で作成される。この場合、ロボット１１の種類およびツール１３の種類の組合せにより、予め用意した複数のロボット制御用中間言語３１のうち最も適するロボット制御用中間言語３１を選択するようになっていても良い。なお中間言語作成部２３において、ユーザが不要な位置データを削除したり位置データを修正したりする等、ロボット制御用中間言語３１の微調整が行なえるようになっていても良い。
【００２３】
次いで、入力部２１からのワーク固有データ３０と中間言語作成部２３からのロボット制御用中間言語３１とが最終言語作成部２４に入力され、この最終言語作成部２４において、これらワーク固有データ３０およびロボット制御用中間言語３１に基づいてロボット１１の種類およびツール１３の種類に合わせたロボット制御用最終言語３２が自動で作成される。
【００２４】
その後、ロボット制御用最終言語３２は、出力部２５からＲＳ２３２Ｃまたはイーサネット（登録商標）等の接続手段を介してロボットコントローラ１２へ送られる。
【００２５】
このようにして、ロボット１１を実際に手動で操作することなく、ロボット１１の教示作業をオフラインで完了させることができる。また最終言語作成部２４においてロボット１１の種類およびツール１３の種類に合わせたロボット制御用最終言語３２が自動で作成されるので、ワークが替わるたびにロボット制御用最終言語３２を最初から作り直す必要がなく、ロボット１１の教示作業に必要な時間を短縮することができる。
【００２６】
上述したように、ロボット制御用中間言語３１はロボット１１の種類に依存しない言語体系となっている。したがって、ユーザがロボットプログラミングに関する難解な知識を有していなくても、制御部２０によりロボット制御用最終言語３２を容易に作成することができる。
【００２７】
このようにして教示作業が終了した後、ロボットコントローラ１２は、制御部２０により作成されたロボット制御用最終言語３２に従ってロボット１１を動作させる（通常動作）。この際、ツールコントローラ１４はロボットコントローラ１２によって制御され、ツール１３はツールコントローラ１４によって制御される。なお、教示作業終了後に制御部２０がロボットコントローラ１２から切離されても良い。すなわち通常のロボット１１動作時には、制御部２０を用いなくても良い。
【００２８】
次に、図２および図３により、最終言語作成部２４において、ワーク固有データ３０とロボット制御用中間言語３１とに基づいてロボット制御用最終言語３２を作成する際の作用を具体的に説明する。
【００２９】
図３において、まず最終言語作成部２４がロボット制御用中間言語３１の最初の行（以下この行のことをブロックともいう。図２におけるＰ００１〜Ｐ０１０の各々に相当する）を読み込む（ステップ１０１）。
【００３０】
次に、読み込まれたブロックがロボット制御用中間言語３１の最終ブロック（Ｐ０１０）であるか否かを判断する（ステップ１０２）。読み込まれたブロックが最終ブロックである場合には、ロボット制御用最終言語３２を出力して終了し（ステップ１０８）、そうでない場合には、読み込まれたブロックがワーク固有データ３０に依存しない制御構造部（例えばＰ００１）であるか否かを判断する（ステップ１０３）。
【００３１】
読み込まれたブロックが制御構造部である場合には、制御構造処理を行なってステップ１０１に戻り（ステップ１０９）、ロボット制御用中間言語３１の次のブロックを読み込む（ステップ１０１）。そうでない場合には、読み込まれたブロックがワーク固有データ３０に依存するデータ置換部（例えばＰ００４）であるか否かを判断する（ステップ１０４）。
【００３２】
読み込まれたブロックがデータ置換部でない場合には、後述するように１ブロック分のデータを出力して、これを最終言語作成部２４に一時的に保存する（ステップ１０７）。他方、読み込まれたブロックがデータ置換部である場合には、ワーク固有データ３０を読み込む（ステップ１０５）。次いで、この読み込んだワーク固有データ３０をロボット制御用最終言語３２に対応するように置換し（ステップ１０６）、１ブロック分のデータとして出力して、これを最終言語作成部２４に一時的に保存する（ステップ１０７）。
【００３３】
その後、ステップ１０１に戻り、ロボット制御用中間言語３１の次のブロックを読み込む。このようなステップを順次繰り返し、読み込まれたブロックが最終ブロックとなった場合に（ステップ１０２）、最終言語作成部２４に保存された各ブロックのデータをロボット制御用最終言語３２として出力して終了する（ステップ１０８）。
【００３４】
このように本実施の形態によれば、制御部２０が、入力部２１からのワーク固有データ３０と中間言語作成部２３からのロボット制御用中間言語３１とに基づいてロボット１１の種類およびツール１３の種類に合わせたロボット制御用最終言語３２を作成するので、ワークが替わるたびにプログラムを最初から作り直す必要がなく、ロボット１１の教示作業に必要な時間を短縮することができる。また、ロボットプログラミングに関する難解な知識を必要とせずにロボットプログラム（ロボット制御用最終言語３２）を容易に作成することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明によるロボット教示システムの一実施の形態を示す全体構成図。
【図２】ワーク固有データ、ロボット制御用中間言語、およびロボット制御用最終言語の具体例を示す図。
【図３】図３は、最終言語作成部における作用を示すフロー図。
【符号の説明】
【００３６】
１０    ロボット教示システム
１１    ロボット
１２    ロボットコントローラ
１３    ツール
１４    ツールコントローラ
２０    制御部
２１    入力部
２２    作業指定部
２３    中間言語作成部
２４    最終言語作成部
２５    出力部
３０    ワーク固有データ
３１    ロボット制御用中間言語
３２    ロボット制御用最終言語
【図１】
2009098709.tif 000003
【図２】
2009098709.tif 000004
【図３】
2009098709.tif 000005