JPWO2019244363A1 - ロボット教示システム、ロボット教示方法、及びプログラム - Google Patents
ロボット教示システム、ロボット教示方法、及びプログラム Download PDFInfo
- Publication number
- JPWO2019244363A1 JPWO2019244363A1 JP2020525218A JP2020525218A JPWO2019244363A1 JP WO2019244363 A1 JPWO2019244363 A1 JP WO2019244363A1 JP 2020525218 A JP2020525218 A JP 2020525218A JP 2020525218 A JP2020525218 A JP 2020525218A JP WO2019244363 A1 JPWO2019244363 A1 JP WO2019244363A1
- Authority
- JP
- Japan
- Prior art keywords
- robot
- program
- module
- generation unit
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
ロボット教示システムは、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するモジュール生成部と、前記モジュール生成部により生成されたプログラムモジュールを組み合わせて前記ロボットを制御する制御プログラム生成部とを有し、前記制御プログラム生成部は、前記モジュール生成部により生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する。
Description
本発明は、ロボット教示システム、ロボット教示方法、及びプログラムに関するものである。
例えば、特許文献1では、自律分散型サーボ機器を制御するコントローラの目的制御プログラムを製作するビジュアル方式プログラム生成器において、ラダー言語、アッセンブリ言語等の記述言語を使用しないで視覚言語を用いて簡単に自律分散型サーボ機器を制御する制御ソフトである目的制御プログラムを生成できることを特徴とするビジュアル方式プログラム生成器が開示されている。
本発明は、ロボットの制御プログラムを効率的に生成するロボット教示システムを提供することを目的とする。
本発明に係るロボット教示システムは、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するモジュール生成部と、前記モジュール生成部により生成されたプログラムモジュールを組み合わせて前記ロボットを制御する制御プログラム生成部とを有し、前記制御プログラム生成部は、前記モジュール生成部により生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する。
好適には、前記モジュール生成部により生成されるプログラムモジュールは、前記ロボットの2つの停止点座標間の移動のプログラムであり、前記制御プログラム生成部は、前記2つの停止点座標間の移動のプログラムの組み合わせに基づいて制御プログラムを生成する。
好適には、前記ロボットは、多関節ロボットであり、前記多関節ロボットは、前記ロボットの動作を制御する複数の制御装置を含み、前記モジュール生成部は、前記各制御装置が、停止動作を含まない一連の動作のうち、動作を開始する位置を示す停止点座標と、終了位置を示す停止点座標との間の移動に基づいてプログラムモジュールを生成する。
好適には、前記制御プログラム生成部により生成された制御プログラムを、ビジュアル工程図に可視化するプログラム可視化部をさらに有し、前記プログラム可視化部は、ビジュアル工程図を、前記制御装置の数に対応する数の制御装置のアイコンを横軸に、前記プログラムモジュールを縦軸にとった二次元マトリクスとして生成し、前記多関節ロボットの動作に不具合があった場合に、前記多関節ロボットの動作が基づいている、前記ビジュアル工程図上のモジュールを特定する実行モジュール特定部をさらに有し、前記プログラム可視化部は、ビジュアル工程図上の特定したプログラムモジュールと他のプログラムモジュールとを区別する。
好適には、前記多関節ロボットの制御装置が退避動作をした場合に、前記プログラム可視化部は、前記多関節ロボットの制御装置が退避動作をした時に実行中であったビジュアル工程図上のプログラムモジュールを他のプログラムモジュールと区別し、前記退避動作とは、前記制御装置が垂直方向に上へ移動する動作である。
好適には、モジュール生成部により生成されたプログラムモジュールの修正を行うモジュール修正部をさらに有し、モジュール修正部は、教示者による前記ロボットへの教示動作に基づいて、停止点座標または移動経路を修正する。
本発明に係るロボット教示方法は、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するステップと、前記生成されたプログラムモジュールを組み合わせて前記ロボットを制御するステップとを有し、前記制御するステップにおいて、プログラムモジュールを生成するステップにおいて生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する。
本発明に係るプログラムは、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するステップと、前記生成されたプログラムモジュールを組み合わせて前記ロボットを制御するステップとをコンピュータに実行させ、前記制御するステップにおいて、プログラムモジュールを生成するステップにおいて生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する。
本発明によれば、ロボットの制御プログラムを効率的に生成することができる。
スカラロボットのプログラムは、記述式言語である「ロボット言語」を用いて生成されている。この手法でプログラムを作成する場合は、「ロボット操作技術者」と「ロボット言語プログラマー」との協同作業が必要である。また、ロボット本体の購入価格は、スカラロボットの普及拡大につれて、低下傾向にあるが、プログラム制作費は高止まりであり、「ロッボット購入・設置・プログラム制作費」の全体費用の中で大きな比重を占める様になってきた。また、このソフト制作費を大幅に低下させないと、「人手不足でスカラロボットの導入気運」の追い風に水を差す現象が産業界で生じている。したがって、ソフト制作費の大幅圧縮・減額が今後のスカラロボットの導入・普及の最大課題となっている。
また、従来、ロボットのプログラムを簡単に安価に制作できる手法として一般に「ダイレクトティーチング手法」が宣伝されてきた。しかしこの手法は、特殊用途に限定されたもので、一般のロボット用途には適用されていない。具体的には、ダイレクトティーチングが実用化されている領域は、「塗装ロボット」「一筆書きロボット」等の一連の連続動作を記憶し、始点から終点まで途中停止を含まないで、「一気に」一連の動作を実現するようなロボットのみに適用されているもので、多関節ロボット、スカラロボットなどの一般的なロボット・プログラムには適用出来ない手法・技術である。
そこで、本願発明は、上記課題を鑑み、記述言語である「ロボット言語」を用いる事な
く、つまり、専門家(ロボット操作技術者、プログラマー)の作業を必要としないことで
ロボット購入者(あるいはロボット使用者)の僅かの作業(ダイレクトポイントセッティング手法)でビジュアル化された動作プログラムが費用極小で入手することを可能にするものである。
く、つまり、専門家(ロボット操作技術者、プログラマー)の作業を必要としないことで
ロボット購入者(あるいはロボット使用者)の僅かの作業(ダイレクトポイントセッティング手法)でビジュアル化された動作プログラムが費用極小で入手することを可能にするものである。
ダイレクトポイントセッティング手法とは、ダイレクトティーチング手法では実現出来ない、スカラロボット用プログラム生成システムを、複数の途中停止点を含み、かつ、途中プログラムを教示できるポイント・セッティング手法である。
ポイント・セッティング手法とは、スカラロボットの基本動作を「ポイント−TO―ポイント」(P−t−P)(点から点への動作)であると捉え、動作工程を「停止点座標」と「停止点座標間の移動」の2つの基本要素からなるものとする。そして、「停止点」と「停止点間の移動」の2つの基本要素を1工程で表し、ビジュアル化した「ビジュアル工程図」用紙(特許第4332879号)を用い、概念の適用・利用範囲を拡大したものである。
ポイント・セッティング手法とは、スカラロボットの基本動作を「ポイント−TO―ポイント」(P−t−P)(点から点への動作)であると捉え、動作工程を「停止点座標」と「停止点座標間の移動」の2つの基本要素からなるものとする。そして、「停止点」と「停止点間の移動」の2つの基本要素を1工程で表し、ビジュアル化した「ビジュアル工程図」用紙(特許第4332879号)を用い、概念の適用・利用範囲を拡大したものである。
具体的には、1つのポイントを教示すると、「停止点」と、つまり、工程番号NにN点の座標位置とN点までの速度が入力される。この教示動作を、図6に例示するロボット動作工程フローチャートに基づき全ポイント実施する。ここで、ロボット動作工程フローチャートとは、スカラロボットに作業を行わせる手順を、スカラロボットの教示における2つの基本コンポーネントのポイント(X,Y,Z,θ)とポイント間の移動速度とを用いて表したものである。ポイント教示と図4に例示する「ビジュアル工程図」を用いることにより、ダイレクトポイントセッティング手法で、教示動作終了時には、ビジュアル工程図上にビジュアル化されたスカラロボットの制御プログラムが生成されている。つまり、教示動作により、ロボット動作座標空間内の教示ポイントと速度(教示ポイントまでの)のセットが工程ごとに、順に、スカラロボット内に入力されるので、自ずとP−t−P動作プログラム(プログラムモジュール)が、スカラロボット内に生成される。同時に、このP−t−P動作プログラムはパソコン画面上のビジュアル工程図内にもサーボアクチュエータのアイコンとロボット動作工程フローチャートに基づくプログラムのフローとして表示される。従って、ビジュアル工程図上にビジュアル化されたP−t−P動作プログラムが生成されたことになる。
ただし、「停止点間の移動」速度については、安全動作を第一に考え、予め定めた安全速度を各ポイント全てに入力される様に設定されている。プログラムのデバック作業が終了した時点で実用速度に再設定する。
ただし、「停止点間の移動」速度については、安全動作を第一に考え、予め定めた安全速度を各ポイント全てに入力される様に設定されている。プログラムのデバック作業が終了した時点で実用速度に再設定する。
本実施形態のロボット教示システム1について説明する。
図1は、ロボット教示システム1の全体構成を例示する図である。
図1に例示するように、ロボット教示システム1は、スカラロボット3、ティーチングペンダント5、及びビジュアル工程図生成器7を有する。
スカラロボット3は、多関節ロボットであり、サーボモータの力で関節を可動させ、アームの先端に取り付けるエンドエフェクタを目的の位置に移動させ、物を掴んで移動させたり、溶接を行ったり、塗装を行ったりする。各関節には、サーボアクチュエータを含み、これにより、モータの位置や速度の制御を行う。サーボアクチュエータは、本発明に係る制御装置の一例である。
スカラロボット3は、本発明に係る多関節ロボットの一例であるが、多関節ロボットであれば、これに限定されない。
ティーチングペンダント5は、スカラロボット3に接続され、スカラロボット3の動作や設定、プログラムの入力を受け付ける。また、ティーチングペンダント5は、教示者による教示データの変更や修正、新規作成などを行う。
ビジュアル工程図生成器7は、スカラロボット3と通信し、スカラロボット3を制御する制御プログラムを可視化する、Windowsベースのパーソナルコンピュータである。
図1は、ロボット教示システム1の全体構成を例示する図である。
図1に例示するように、ロボット教示システム1は、スカラロボット3、ティーチングペンダント5、及びビジュアル工程図生成器7を有する。
スカラロボット3は、多関節ロボットであり、サーボモータの力で関節を可動させ、アームの先端に取り付けるエンドエフェクタを目的の位置に移動させ、物を掴んで移動させたり、溶接を行ったり、塗装を行ったりする。各関節には、サーボアクチュエータを含み、これにより、モータの位置や速度の制御を行う。サーボアクチュエータは、本発明に係る制御装置の一例である。
スカラロボット3は、本発明に係る多関節ロボットの一例であるが、多関節ロボットであれば、これに限定されない。
ティーチングペンダント5は、スカラロボット3に接続され、スカラロボット3の動作や設定、プログラムの入力を受け付ける。また、ティーチングペンダント5は、教示者による教示データの変更や修正、新規作成などを行う。
ビジュアル工程図生成器7は、スカラロボット3と通信し、スカラロボット3を制御する制御プログラムを可視化する、Windowsベースのパーソナルコンピュータである。
次にロボット教示システム1を使用してスカラロボット3の制御プログラムが生成されるまでの概要を説明する。
図1に例示するように、スカラロボット3、ティーチングペンダント5、及びビジュアル工程図生成器7を相互につなぎ、スカラロボット3を教示モードにし、ビジュアル工程図生成器7でダイレクトポイントセッティング機能を立ち上げる。次に、ロボット原点にスカラロボット3を移動させ教示動作を行う。これにより、教示ポイントの座標がビジュアル工程図の「ゼロ工程」に自動的に記入される。
次に、ロボット動作工程フローチャートの「工程1」を教示する、順次、動作フローチャートの最終工程まで上記動作を実行し教示動作を完了させる。これにより、教示動作を行うことで、ビジュアル工程図が完成し、同時に、制御プログラムが完成し、かつ、教示されたプログラムがロボットコントローラの内部にストアー(メモリ)される。つまり、教示動作を行うことで、ビジュアル化されたスカラロボット3の動作プログラムが自動的に生成されたことになる。
図1に例示するように、スカラロボット3、ティーチングペンダント5、及びビジュアル工程図生成器7を相互につなぎ、スカラロボット3を教示モードにし、ビジュアル工程図生成器7でダイレクトポイントセッティング機能を立ち上げる。次に、ロボット原点にスカラロボット3を移動させ教示動作を行う。これにより、教示ポイントの座標がビジュアル工程図の「ゼロ工程」に自動的に記入される。
次に、ロボット動作工程フローチャートの「工程1」を教示する、順次、動作フローチャートの最終工程まで上記動作を実行し教示動作を完了させる。これにより、教示動作を行うことで、ビジュアル工程図が完成し、同時に、制御プログラムが完成し、かつ、教示されたプログラムがロボットコントローラの内部にストアー(メモリ)される。つまり、教示動作を行うことで、ビジュアル化されたスカラロボット3の動作プログラムが自動的に生成されたことになる。
図2は、スカラロボット3の機能構成を例示する図である。
図2に例示するように、スカラロボット3には、モジュール生成プログラム30がインストールされる。モジュール生成プログラム30は、モジュール生成部300、座標決定部302、及び座標変換部304を有する。
図2に例示するように、スカラロボット3には、モジュール生成プログラム30がインストールされる。モジュール生成プログラム30は、モジュール生成部300、座標決定部302、及び座標変換部304を有する。
モジュール生成部300は、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成する。プログラムモジュールとは、スカラロボット3の2つの停止点座標間の移動のプログラムである。ここで、移動とは、スカラロボット3のエンドファクタの移動を含む。2つの停止点間座標とは、各サーボアクチュエータが、停止動作を含まない一連の動作のうち、一連の動作を開始する停止点座標と終了する停止点座標とをいう。モジュール生成部300により生成されたプログラムモジュールは、ビジュアル工程図生成器7で管理される。停止点座標間の動作が、停止動作を含まない、簡易な動作であるため、教示動作が小さくなり、教示者の負担が軽減される。
座標決定部302は、スカラロボット3の停止点の座標を決定する。具体的には、「教示ボタン」を押下した時点の座標がスカラロボット3の停止点であると認識し、座標を決定する。
座標変換部304は、サーボアクチュエータの座標をスカラロボット3の動作空間座標に変換する。具体的には、ロボット動作空間内でスカラロボット3のエンドエフェクタ(ロボットの軸の先端部)を必要な位置に置いて(ポイントにセットする方法は、当然、手動動作にて、ジョグ動作にて、手動とジョグ動作の併用等)教示動作を行うと、教示されたデータは、この時点では、ロボット動作空間内の(XJ1xy、XJ2xyJ3Z、J4)のデータではなく、サーボアクチュエータ(J1、J2、J3、J4)軸のエンコーダ・データであり、座標変換部304は、軸エンコーダ座標データを逆変換機能によりロボット動作空間座標に変換する。つまり、ロボット動作空間内で教示されたデータは、実は教示時点ではロボット動作空間座標ではなく、各サーボアクチュエータの軸にセットされている、回転型のエンコーダ・データである。座標変換部304が、エンコーダ・データをロボット動作空間データに変換することにより、エンドエフェクタの空間座標(XJ1xy,XJ2xy,J3Z)軸+手首座標(θ)軸が得られる。
図3は、ビジュアル工程図生成器7の機能構成を例示する図である。
図3に例示するように、ビジュアル工程図生成器7には、自動生成プログラム70がインストールされると共に、モジュール格納データベース600(モジュール格納DB600)が構成されている。自動生成プログラム70は、制御プログラム生成部700、モジュール格納部702、プログラム可視化部704、実行モジュール特定部706、及びモジュール修正部708を有する。モジュール格納部702、及びモジュール格納DB600は、モジュール生成プログラム30が有していてもよい。
図3に例示するように、ビジュアル工程図生成器7には、自動生成プログラム70がインストールされると共に、モジュール格納データベース600(モジュール格納DB600)が構成されている。自動生成プログラム70は、制御プログラム生成部700、モジュール格納部702、プログラム可視化部704、実行モジュール特定部706、及びモジュール修正部708を有する。モジュール格納部702、及びモジュール格納DB600は、モジュール生成プログラム30が有していてもよい。
制御プログラム生成部700は、モジュール生成部300により生成されたプログラムモジュールを組み合わせてスカラロボット3を制御する。具体的には、制御プログラム生成部700は、モジュール生成部300により生成された異なるプログラムモジュール、または同一のモジュールの組み合わせに基づいてスカラロボット3の制御プログラムを生成する。ここで、プログラムモジュールAの動作の終了停止点座標と、組み合わせたいBの動作の開始停止点座標とが一致しない場合、制御プログラム生成部700は、プログラムモジュールBがプログラムモジュールAと繋がるよう、プログラムモジュールBの動作の開始停止点座標、動作の終了停止点座標とを修正する。
モジュール格納部702は、モジュール生成部300により生成されたプログラムモジュールを受信し、モジュール格納DB600に格納し、管理する。
プログラム可視化部704は、制御プログラム生成部700により生成された制御プログラムを、ビジュアル工程図に可視化する。具体的には、プログラム可視化部704は、ビジュアル工程図を、サーボアクチュエータ数に対応する数のサーボアクチュエータのアイコンを横軸に、プログラムモジュールを縦軸にとった二次元マトリクスとして生成する。
プログラム可視化部704は、制御プログラム生成部700により生成された制御プログラムを、ビジュアル工程図に可視化する。具体的には、プログラム可視化部704は、ビジュアル工程図を、サーボアクチュエータ数に対応する数のサーボアクチュエータのアイコンを横軸に、プログラムモジュールを縦軸にとった二次元マトリクスとして生成する。
また、プログラム可視化部704は、実行モジュール特定部706(後述)によりビジュアル工程図上の特定したプログラムモジュールと他のプログラムモジュールとを区別する。区別する方法としては、ビジュアル工程図上のモジュールを点滅させるなどである。これより、使用者は、どのモジュールに不具合があるかを視認することができ、異常モジュールの検知が早くなる。
ここで、図4に例示される、ビジュアル工程図について説明する。
ビジュアル工程図は、特許第4332879号にて考案されたもので、使用される複数のサーボアクチュエータ(サーボモータ)を上部横軸にセットし、ビジュアル工程図側の縦列左に工程番号を記入し、縦横2次元マトリックスを構成し、どのStep(工程)でどのアクチュエータを使用するのか、そのサーボアクチュエータを使用してどこまで動かすのか、つまり、「Point」(到達点)「速度」(到達点までの速度)が記入され、工程図(アクチュエータの制御プログラム)をビジュアル化するよう構成されている。
ロボットへの教示方法は、図6に例示するロボット動作工程フローチャートより、「待機点」の工程をStep(工程)「00」ロボット動作空間座標「Point0(ゼロ)」(J1xy(水平第一軸)、J2xy(水平第二軸)、J3z(上下第三軸)、J4(手首第四軸))にロボットのエンドエフェクタの待機位置をセットし、ティーチングペンダント5の「教示ボタン」を押して、教示動作を実行する。ビジュアル工程図上の機能アイコンには、各サーボアクチュエータ、動作完了、タイマー、入出力条件、始点、終点等がある。これらを必要に応じて、直下の二次元マトリクス空間にドラッグアンドドロップで配置する。
ビジュアル工程図は、特許第4332879号にて考案されたもので、使用される複数のサーボアクチュエータ(サーボモータ)を上部横軸にセットし、ビジュアル工程図側の縦列左に工程番号を記入し、縦横2次元マトリックスを構成し、どのStep(工程)でどのアクチュエータを使用するのか、そのサーボアクチュエータを使用してどこまで動かすのか、つまり、「Point」(到達点)「速度」(到達点までの速度)が記入され、工程図(アクチュエータの制御プログラム)をビジュアル化するよう構成されている。
ロボットへの教示方法は、図6に例示するロボット動作工程フローチャートより、「待機点」の工程をStep(工程)「00」ロボット動作空間座標「Point0(ゼロ)」(J1xy(水平第一軸)、J2xy(水平第二軸)、J3z(上下第三軸)、J4(手首第四軸))にロボットのエンドエフェクタの待機位置をセットし、ティーチングペンダント5の「教示ボタン」を押して、教示動作を実行する。ビジュアル工程図上の機能アイコンには、各サーボアクチュエータ、動作完了、タイマー、入出力条件、始点、終点等がある。これらを必要に応じて、直下の二次元マトリクス空間にドラッグアンドドロップで配置する。
実行モジュール特定部706は、スカラロボット3の動作が基づいているプログラムモジュールを特定する。具体的には、実行モジュール特定部706は、スカラロボット3の動作に不具合があった場合に、不具合の動作が基づいている、ビジュアル工程図上のモジュールを特定する。
また、実行モジュール特定部706は、スカラロボット3の動作に不具合があった場合に、警告音を発する。
さらに、実行モジュール特定部706は、スカラロボット3のサーボアクチュエータが退避動作を行った場合に、スカラロボット3のアクチュエータが退避動作をした時に実行中であったビジュアル工程図上のプログラムモジュールを特定する。退避動作とは、制御装置が垂直方向に上へ移動する動作をいう。
さらに、実行モジュール特定部706は、スカラロボット3のサーボアクチュエータが退避動作を行った場合に、スカラロボット3のアクチュエータが退避動作をした時に実行中であったビジュアル工程図上のプログラムモジュールを特定する。退避動作とは、制御装置が垂直方向に上へ移動する動作をいう。
モジュール修正部708は、モジュール生成部300により生成されたプログラムモジュールの修正を行う。モジュール修正部708は、教示者によるスカラロボット3への教示動作に基づいて、停止点座標または移動経路を修正する。
図5は、ロボット教示システム1における、プログラムモジュールの生成処理(S10)を説明するフローチャートである。
図5に例示するように、S100(S100)において、スカラロボット3に作業を行わせる手順(順序)を、スカラロボット3の教示における2つの基本コンポーネントのポイント(X,Y,Z,θ)とポイント間の移動速度とを用いて、図6に例示するロボット動作工程フローチャート用紙に記述する。ただし、速度については、ロボットの安全運転の観点から、教示動作で得られるプログラムについては、デバッグ前にはスカラロボット3の全運転領域において、予め定められた低速度が書き込まれる様に設定される機能を有している。
ステップ105(S105)において、教示者はスカラロボット3を待機位置へ移動させる。
ステップ110(S110)において、座標変換部304は、待機位置の各サーボアクチュエータの座標をロボット動作空間座標に変換する。
ステップ115(S115)において、教示者は、スカラロボット3を動作させ、スカラロボット3に次の停止点までの動作と次の停止点と速度とを教示する。
ステップ120(S120)において、モジュール生成部300は、教示されたスカラロボット3の停止点間の移動をプログラムモジュールとして生成し、ビジュアル工程図生成器7のモジュール格納部702は、プログラムモジュールをモジュール格納DB600で管理する。
ステップ125(S125)において、プログラム可視化部704は、停止点座標間の動作をビジュアル工程図に表す。
図5に例示するように、S100(S100)において、スカラロボット3に作業を行わせる手順(順序)を、スカラロボット3の教示における2つの基本コンポーネントのポイント(X,Y,Z,θ)とポイント間の移動速度とを用いて、図6に例示するロボット動作工程フローチャート用紙に記述する。ただし、速度については、ロボットの安全運転の観点から、教示動作で得られるプログラムについては、デバッグ前にはスカラロボット3の全運転領域において、予め定められた低速度が書き込まれる様に設定される機能を有している。
ステップ105(S105)において、教示者はスカラロボット3を待機位置へ移動させる。
ステップ110(S110)において、座標変換部304は、待機位置の各サーボアクチュエータの座標をロボット動作空間座標に変換する。
ステップ115(S115)において、教示者は、スカラロボット3を動作させ、スカラロボット3に次の停止点までの動作と次の停止点と速度とを教示する。
ステップ120(S120)において、モジュール生成部300は、教示されたスカラロボット3の停止点間の移動をプログラムモジュールとして生成し、ビジュアル工程図生成器7のモジュール格納部702は、プログラムモジュールをモジュール格納DB600で管理する。
ステップ125(S125)において、プログラム可視化部704は、停止点座標間の動作をビジュアル工程図に表す。
図7は、スカラロボット3の制御プログラムを生成する制御プログラム生成処理(S20)のフローチャートである。
ステップ200(S200)において、スカラロボット3、ティーチングペンダント5、及び、ビジュアル工程図生成器7を相互につなぎ、スカラロボット3を教示モードにし、ビジュアル工程図生成器7でダイレクトポイントセッティング機能を立ち上げ、ロボット原点にロボットを移動させ教示ボタンを押下する。座標決定部302は、停止点の座標を決定し、保持する。
ステップ205(S205)において、教示者は、スカラロボット3に、次の停止点までの動作と停止点と速度とを教示する。
ステップ210(S210)において、座標決定部302は、次の停止点の座標を決定し、保持し、モジュール生成部300は、停止点間の動作をプログラムモジュールとして生成する。モジュール格納部702は、モジュール格納DB600に生成したプログラムモジュールを保存する。プログラム可視化部704は、モジュール生成部300により生成されたプログラムモジュールをビジュアル工程図上に表す。
ステップ215(S215)において、サブルーチンが必要である場合に自動生成プログラム70は、S220の処理に移行し、サブルーチンが必要ない場合は、S225の処理に移行する。
ステップ220(S220)において、スカラロボット3が停止点座標に到達した場合の動作を設定する。動作とは、例えば待機時間の挿入等である。
ステップ225(S225)において、他のモジュールまたは同一のモジュールとの組み合わせが必要である場合には、自動生成プログラム70は、S230の処理に移行し、組合せが必要でない場合は、処理を終了する。
ステップ230(S230)において、モジュール格納部702は、組み合わせたいプログラムモジュールをモジュール格納DB600から読み出す。
ステップ235(S235)において、制御プログラム生成部700は、S210において記憶したプログラムモジュールに、読み出したプログラムモジュールを組み合わせてスカラロボット3の制御プログラムを生成する。
制御プログラム生成処理(S20)では、他のプログラムモジュールの組み合わせの要否の判定をサブルーチンの要否の判定後に行っているが、これに限定されず、サブルーチンの要否の判定前に行ってもよい。
ステップ200(S200)において、スカラロボット3、ティーチングペンダント5、及び、ビジュアル工程図生成器7を相互につなぎ、スカラロボット3を教示モードにし、ビジュアル工程図生成器7でダイレクトポイントセッティング機能を立ち上げ、ロボット原点にロボットを移動させ教示ボタンを押下する。座標決定部302は、停止点の座標を決定し、保持する。
ステップ205(S205)において、教示者は、スカラロボット3に、次の停止点までの動作と停止点と速度とを教示する。
ステップ210(S210)において、座標決定部302は、次の停止点の座標を決定し、保持し、モジュール生成部300は、停止点間の動作をプログラムモジュールとして生成する。モジュール格納部702は、モジュール格納DB600に生成したプログラムモジュールを保存する。プログラム可視化部704は、モジュール生成部300により生成されたプログラムモジュールをビジュアル工程図上に表す。
ステップ215(S215)において、サブルーチンが必要である場合に自動生成プログラム70は、S220の処理に移行し、サブルーチンが必要ない場合は、S225の処理に移行する。
ステップ220(S220)において、スカラロボット3が停止点座標に到達した場合の動作を設定する。動作とは、例えば待機時間の挿入等である。
ステップ225(S225)において、他のモジュールまたは同一のモジュールとの組み合わせが必要である場合には、自動生成プログラム70は、S230の処理に移行し、組合せが必要でない場合は、処理を終了する。
ステップ230(S230)において、モジュール格納部702は、組み合わせたいプログラムモジュールをモジュール格納DB600から読み出す。
ステップ235(S235)において、制御プログラム生成部700は、S210において記憶したプログラムモジュールに、読み出したプログラムモジュールを組み合わせてスカラロボット3の制御プログラムを生成する。
制御プログラム生成処理(S20)では、他のプログラムモジュールの組み合わせの要否の判定をサブルーチンの要否の判定後に行っているが、これに限定されず、サブルーチンの要否の判定前に行ってもよい。
図8は、ロボット教示システム1におけるロボット教示処理(S30)を説明するフローチャートである。
ロボット教示処理(S30)は、図6に例示する作成済みのロボット動作工程フローチャートに基づいて行われるものとする。また、J1xyは水平第一軸、J2xyは、水平第二軸、J3zは、上下第三軸、J4は、手首第四軸を示す。
図8に例示するように、ステップ300(S300)において、スカラロボット3をロボット待機点に手動でセットする。
ステップ305(S305)において、ロボット待機点をビジュアル工程図のStep「00」行にPoint「0」を記入し、その行にアクチュエータ・アイコンJ1xy、J2xy、J3z、J4をドラッグアンドドロップする。
ステップ310(S310)において、Step「01」行のアイコン(J1xy、J2xy)をマウスで「ダブル・クリック」し、Point「1」の座標データ記入窓が開き、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。教示データとは、前の停止点座標と最新の停止点座標との差分データである。
ロボット教示処理(S30)は、図6に例示する作成済みのロボット動作工程フローチャートに基づいて行われるものとする。また、J1xyは水平第一軸、J2xyは、水平第二軸、J3zは、上下第三軸、J4は、手首第四軸を示す。
図8に例示するように、ステップ300(S300)において、スカラロボット3をロボット待機点に手動でセットする。
ステップ305(S305)において、ロボット待機点をビジュアル工程図のStep「00」行にPoint「0」を記入し、その行にアクチュエータ・アイコンJ1xy、J2xy、J3z、J4をドラッグアンドドロップする。
ステップ310(S310)において、Step「01」行のアイコン(J1xy、J2xy)をマウスで「ダブル・クリック」し、Point「1」の座標データ記入窓が開き、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。教示データとは、前の停止点座標と最新の停止点座標との差分データである。
ステップ315(S315)において、Step「02」行のアイコン(J3z)をマウスで「ダブル・クリック」すると、J3zのPoint「0」の座標データ記入窓が開く、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。
ステップ320(S320)において、Step「00」行のアイコン(J4)をマウスで「ダブル・クリック」すると、J4のPoint「0」の座標データ」記入窓が開く、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。
ステップ325(S325)において、ロボット動作工程フローチャートのStep「01」へロボットのエンドエフェクタを手動でセットし、ビジュアル工程図で、ロボット(J1xy、J2xy)のアイコンを、ドラッグアンドドロップし、マウスで「ダブル・クリック」すると、Point「1」の座標データ」記入窓が開く、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。
ステップ330(S330)において、ロボット動作工程フローチャートのStep「02」へロボットのエンドエフェクタを手動でセットし、ビジュアル工程図で、Step「2」、Point「2」を記入し、その行にロボット(J3z)のアイコンを、ドラッグアンドドロップし、マウスで「ダブル・クリック」すると、ポイント「2」の座標データ」記入窓が開く、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。
ステップ320(S320)において、Step「00」行のアイコン(J4)をマウスで「ダブル・クリック」すると、J4のPoint「0」の座標データ」記入窓が開く、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。
ステップ325(S325)において、ロボット動作工程フローチャートのStep「01」へロボットのエンドエフェクタを手動でセットし、ビジュアル工程図で、ロボット(J1xy、J2xy)のアイコンを、ドラッグアンドドロップし、マウスで「ダブル・クリック」すると、Point「1」の座標データ」記入窓が開く、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。
ステップ330(S330)において、ロボット動作工程フローチャートのStep「02」へロボットのエンドエフェクタを手動でセットし、ビジュアル工程図で、Step「2」、Point「2」を記入し、その行にロボット(J3z)のアイコンを、ドラッグアンドドロップし、マウスで「ダブル・クリック」すると、ポイント「2」の座標データ」記入窓が開く、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。
ステップ335(S335)において、ロボット動作工程フローチャートのポイントStep「03」へロボットのエンドエフェクタを手動でセットし、ビジュアル工程図で、Step「03」、ポイント「3」を記入し、その行にロボット(J3)のアイコンを、ドラッグアンドドロップし、マウスでポイントすると、ポイント「3」の座標データ」記入窓が開く、ここでティーチングペンダント5の教示ボタンを押下し、教示データを読み込ませる。
ステップ340(S340)において、順次、ロボット工程フローチャートに基づき、各教示ポイントを教示する。ロボット動作工程フローチャートの全工程の教示が完了した場合は、ロボット教示処理(S30)は、S345の処理に移行し、終了していない場合は、S350の処理に移行する。
ステップ345(S345)において、制御プログラムが生成され、ビジュアル工程図の用紙内に教示された全ポイントのアイコンが表示される。つまり、図9に例示するように、生成された制御プログラムがビジュアル工程図上に表される。
ステップ350(S350)において、ボット動作工程フローチャートの次のポイントを教示する。
ステップ340(S340)において、順次、ロボット工程フローチャートに基づき、各教示ポイントを教示する。ロボット動作工程フローチャートの全工程の教示が完了した場合は、ロボット教示処理(S30)は、S345の処理に移行し、終了していない場合は、S350の処理に移行する。
ステップ345(S345)において、制御プログラムが生成され、ビジュアル工程図の用紙内に教示された全ポイントのアイコンが表示される。つまり、図9に例示するように、生成された制御プログラムがビジュアル工程図上に表される。
ステップ350(S350)において、ボット動作工程フローチャートの次のポイントを教示する。
以上説明したように、ロボット教示システム1は、スカラロボット3の最少の動作単位をプログラムモジュールとして管理しており、組み合わせることにより制御プログラムを生成できるため、複雑な動作すべてを教示する必要なく、プログラムモジュールを組み合わせてスカラロボット3の複雑な動作の制御プログラムの生成を可能にする。
また、ロボット教示システム1は、記述言語である「ロボット言語」を用いる事なく、専門家(ロボット操作技術者、プログラマー)の作業を必要としないことで、ロボット購入者(あるいはロボット使用者)の僅かの作業(ダイレクトポイントセッティング手法)でビジュアル化された動作プログラムが費用極小で入手することができる。
さらに、ビジュアル化された動作プログラムを用いれば、プログラムの不具合に依る停止点が目視(ビジュアル化)できるため、プログラムのデバッグ作業が極めて簡単に実施できる。
また、ロボット教示システム1は、記述言語である「ロボット言語」を用いる事なく、専門家(ロボット操作技術者、プログラマー)の作業を必要としないことで、ロボット購入者(あるいはロボット使用者)の僅かの作業(ダイレクトポイントセッティング手法)でビジュアル化された動作プログラムが費用極小で入手することができる。
さらに、ビジュアル化された動作プログラムを用いれば、プログラムの不具合に依る停止点が目視(ビジュアル化)できるため、プログラムのデバッグ作業が極めて簡単に実施できる。
そして、記述言語プログラムを使用した場合のプログラムの調整作業は、調整箇所のプログラムをプログラマーに指示し、変更箇所のプログラムを修正し、ROM(メモリ)に焼き、ロボットコントローラにセットし、ロボットを試運転する。ロボットの仕様を満たすまで繰り返し、これらの作業を続ける。従って、費用が大幅に発生する。一方で、ロボット教示システム1により生成された制御プログラムはビジュアル化されているので、調整箇所が目視でき、かつ、リアルタイム調整が可能であるため、ロボット教示システム1により生成した制御プログラムをロボット実機動作に合わせ込む作業が短時間で実施できる。具体的には、ロボット教示システム1によるビジュアル化された制御プログラムの調整作業は、記述言語に依るプログラムの調整作業の100分の1程度の作業時間で済み、効率が良い。
1…ロボット教示システム
3…スカラロボット
5…ティーチングペンダント
7…ビジュアル工程図生成器
3…スカラロボット
5…ティーチングペンダント
7…ビジュアル工程図生成器
Claims (8)
- 教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するモジュール生成部と、
前記モジュール生成部により生成されたプログラムモジュールを組み合わせて前記ロボットを制御する制御プログラム生成部と
を有し、
前記制御プログラム生成部は、前記モジュール生成部により生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する
ロボット教示システム。 - 前記モジュール生成部により生成されるプログラムモジュールは、前記ロボットの2つの停止点座標間の移動のプログラムであり、
前記制御プログラム生成部は、前記2つの停止点座標間の移動のプログラムの組み合わせに基づいて制御プログラムを生成する
請求項1に記載のロボット教示システム。 - 前記ロボットは、多関節ロボットであり、
前記多関節ロボットは、前記ロボットの動作を制御する複数の制御装置
を含み、
前記モジュール生成部は、前記各制御装置が、停止動作を含まない一連の動作のうち、動作を開始する位置を示す停止点座標と、終了位置を示す停止点座標との間の移動に基づいてプログラムモジュールを生成する
請求項2に記載のロボット教示システム。 - 前記制御プログラム生成部により生成された制御プログラムを、ビジュアル工程図に可視化するプログラム可視化部
をさらに有し、
前記プログラム可視化部は、ビジュアル工程図を、前記制御装置の数に対応する数の制御装置のアイコンを横軸に、前記プログラムモジュールを縦軸にとった二次元マトリクスとして生成し、
前記多関節ロボットの動作に不具合があった場合に、前記多関節ロボットの動作が基づいている、前記ビジュアル工程図上のモジュールを特定する実行モジュール特定部を
さらに有し、
前記プログラム可視化部は、ビジュアル工程図上の特定したプログラムモジュールと他のプログラムモジュールとを区別する
請求項1に記載のロボット教示システム - 前記多関節ロボットの制御装置が退避動作をした場合に、前記プログラム可視化部は、前記多関節ロボットの制御装置が退避動作をした時に実行中であったビジュアル工程図上のプログラムモジュールを他のプログラムモジュールと区別し、
前記退避動作とは、前記制御装置が垂直方向に上へ移動する動作である
請求項4に記載のロボット教示システム。 - 前記モジュール生成部により生成されたプログラムモジュールの修正を行うモジュール修正部
をさらに有し、
前記モジュール修正部は、教示者による前記ロボットへの教示動作に基づいて、停止点座標または移動経路を修正する
請求項1に記載のロボット教示システム。 - 教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するステップと、
前記生成されたプログラムモジュールを組み合わせて前記ロボットを制御するステップと
を有し、
前記制御するステップにおいて、プログラムモジュールを生成するステップにおいて生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する
ロボット教示方法。 - 教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するステップと、
前記生成されたプログラムモジュールを組み合わせて前記ロボットを制御するステップと
をコンピュータに実行させ、
前記制御するステップにおいて、プログラムモジュールを生成するステップにおいて生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する
プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018115882 | 2018-06-19 | ||
JP2018115882 | 2018-06-19 | ||
PCT/JP2018/032716 WO2019244363A1 (ja) | 2018-06-19 | 2018-09-04 | ロボット教示システム、ロボット教示方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2019244363A1 true JPWO2019244363A1 (ja) | 2021-07-08 |
Family
ID=68982642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020525218A Pending JPWO2019244363A1 (ja) | 2018-06-19 | 2018-09-04 | ロボット教示システム、ロボット教示方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2019244363A1 (ja) |
WO (1) | WO2019244363A1 (ja) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5815688A (ja) * | 1981-06-29 | 1983-01-29 | 株式会社神戸製鋼所 | プレイバツクロボツトのプログラム接続編集方法 |
JPH06100931B2 (ja) * | 1984-06-18 | 1994-12-12 | 新明和工業株式会社 | 産業用ロボットの制御情報作成装置における変更プログラム作成方法 |
JPH0819975A (ja) * | 1994-07-06 | 1996-01-23 | Tokico Ltd | ロボットの教示方法 |
JPH08202429A (ja) * | 1995-01-24 | 1996-08-09 | Nissan Motor Co Ltd | 教示プログラム自動生成装置 |
JPH11296215A (ja) * | 1998-04-07 | 1999-10-29 | Daihen Corp | 産業用ロボットの自動プログラミング方法 |
JP2001322079A (ja) * | 2000-05-15 | 2001-11-20 | Sony Corp | 脚式移動ロボット及びその動作教示方法 |
JP4332879B2 (ja) * | 2004-04-30 | 2009-09-16 | 株式会社ダイアディックシステムズ | 自律分散型サーボ機器を制御するコントローラのヴィジュアル方式プログラム生成器 |
JP4266893B2 (ja) * | 2004-07-15 | 2009-05-20 | ファナック株式会社 | ロボット制御装置及びロボットシステム |
-
2018
- 2018-09-04 JP JP2020525218A patent/JPWO2019244363A1/ja active Pending
- 2018-09-04 WO PCT/JP2018/032716 patent/WO2019244363A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019244363A1 (ja) | 2019-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107932504B (zh) | 基于PyQt的机械臂运行控制系统 | |
CN111194452B (zh) | 动作预测系统及动作预测方法 | |
JP6580602B2 (ja) | ロボットをプログラムする方法およびシステム | |
US9149931B2 (en) | Robot system, robot control device and method for controlling robot | |
DE102014103738B3 (de) | Visuelle fehlersuche bei roboteraufgaben | |
Mateo et al. | Hammer: An Android based application for end-user industrial robot programming | |
Pieskä et al. | Simulation and programming experiences of collaborative robots for small-scale manufacturing | |
JP2003117863A (ja) | ロボットシミュレーション装置 | |
JPH08249026A (ja) | ロボットを含むシステムのプログラミング方法 | |
KR101876845B1 (ko) | 로봇 제어 장치 | |
US20170197308A1 (en) | Teaching data generating device and teaching data-generating method for work robot | |
JP7069971B2 (ja) | 制御装置、ロボット、およびロボットシステム | |
CN114102590A (zh) | 一种工业机器人仿真方法、系统及应用 | |
CN114473324B (zh) | 基于示教学习的多机械臂协同拼接焊接控制方法及系统 | |
JP5375436B2 (ja) | ロボットシステム | |
US11975454B2 (en) | Program generation device and non-transitory computer-readable storage medium storing program | |
JP2019188545A (ja) | ロボット制御装置 | |
JPWO2019244363A1 (ja) | ロボット教示システム、ロボット教示方法、及びプログラム | |
JP5272447B2 (ja) | 数値制御機械の動作シミュレータ | |
DE102010004477A1 (de) | Entwicklungsumgebung und Verfahren zur Planung einer Roboterapplikation | |
JP7485705B2 (ja) | ロボットシステム、タスク生成装置及び制御方法 | |
MOCAN et al. | Offline programming of robotic arc welding systems | |
JP7232704B2 (ja) | ロボットプログラム評価装置、ロボットプログラム評価方法及びロボットプログラム評価プログラム | |
KR102567361B1 (ko) | 로봇 교시 장치 및 이를 이용한 로봇 교시 방법 | |
Viknesh | Applications of Virtual Reality in Manufacturing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210330 |
|
AA64 | Notification of invalidation of claim of internal priority (with term) |
Free format text: JAPANESE INTERMEDIATE CODE: A241764 Effective date: 20210330 |