(57)【要約】  ロボット教示システムは、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するモジュール生成部と、前記モジュール生成部により生成されたプログラムモジュールを組み合わせて前記ロボットを制御する制御プログラム生成部とを有し、前記制御プログラム生成部は、前記モジュール生成部により生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する。
2019244363.tif 000002
【特許請求の範囲】
【請求項１】
教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するモジュール生成部と、
前記モジュール生成部により生成されたプログラムモジュールを組み合わせて前記ロボットを制御する制御プログラム生成部と
を有し、
前記制御プログラム生成部は、前記モジュール生成部により生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する
ロボット教示システム。
【請求項２】
前記モジュール生成部により生成されるプログラムモジュールは、前記ロボットの２つの停止点座標間の移動のプログラムであり、
前記制御プログラム生成部は、前記２つの停止点座標間の移動のプログラムの組み合わせに基づいて制御プログラムを生成する
請求項１に記載のロボット教示システム。
【請求項３】
前記ロボットは、多関節ロボットであり、
前記多関節ロボットは、前記ロボットの動作を制御する複数の制御装置
を含み、
前記モジュール生成部は、前記各制御装置が、停止動作を含まない一連の動作のうち、動作を開始する位置を示す停止点座標と、終了位置を示す停止点座標との間の移動に基づいてプログラムモジュールを生成する
請求項２に記載のロボット教示システム。
【請求項４】
前記制御プログラム生成部により生成された制御プログラムを、ビジュアル工程図に可視化するプログラム可視化部
をさらに有し、
前記プログラム可視化部は、ビジュアル工程図を、前記制御装置の数に対応する数の制御装置のアイコンを横軸に、前記プログラムモジュールを縦軸にとった二次元マトリクスとして生成し、
前記多関節ロボットの動作に不具合があった場合に、前記多関節ロボットの動作が基づいている、前記ビジュアル工程図上のモジュールを特定する実行モジュール特定部を
さらに有し、
前記プログラム可視化部は、ビジュアル工程図上の特定したプログラムモジュールと他のプログラムモジュールとを区別する
請求項１に記載のロボット教示システム
【請求項５】
前記多関節ロボットの制御装置が退避動作をした場合に、前記プログラム可視化部は、前記多関節ロボットの制御装置が退避動作をした時に実行中であったビジュアル工程図上のプログラムモジュールを他のプログラムモジュールと区別し、
前記退避動作とは、前記制御装置が垂直方向に上へ移動する動作である
請求項４に記載のロボット教示システム。
【請求項６】
前記モジュール生成部により生成されたプログラムモジュールの修正を行うモジュール修正部
をさらに有し、
前記モジュール修正部は、教示者による前記ロボットへの教示動作に基づいて、停止点座標または移動経路を修正する
請求項１に記載のロボット教示システム。
【請求項７】
教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するステップと、
前記生成されたプログラムモジュールを組み合わせて前記ロボットを制御するステップと
を有し、
前記制御するステップにおいて、プログラムモジュールを生成するステップにおいて生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する
ロボット教示方法。
【請求項８】
教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するステップと、
前記生成されたプログラムモジュールを組み合わせて前記ロボットを制御するステップと
をコンピュータに実行させ、
前記制御するステップにおいて、プログラムモジュールを生成するステップにおいて生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット教示システム、ロボット教示方法、及びプログラムに関するものである。
【背景技術】
【０００２】
例えば、特許文献１では、自律分散型サーボ機器を制御するコントローラの目的制御プログラムを製作するビジュアル方式プログラム生成器において、ラダー言語、アッセンブリ言語等の記述言語を使用しないで視覚言語を用いて簡単に自律分散型サーボ機器を制御する制御ソフトである目的制御プログラムを生成できることを特徴とするビジュアル方式プログラム生成器が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５‐３１６９２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、ロボットの制御プログラムを効率的に生成するロボット教示システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明に係るロボット教示システムは、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するモジュール生成部と、前記モジュール生成部により生成されたプログラムモジュールを組み合わせて前記ロボットを制御する制御プログラム生成部とを有し、前記制御プログラム生成部は、前記モジュール生成部により生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する。【０００６】
好適には、前記モジュール生成部により生成されるプログラムモジュールは、前記ロボットの２つの停止点座標間の移動のプログラムであり、前記制御プログラム生成部は、前記２つの停止点座標間の移動のプログラムの組み合わせに基づいて制御プログラムを生成する。【０００７】
好適には、前記ロボットは、多関節ロボットであり、前記多関節ロボットは、前記ロボットの動作を制御する複数の制御装置を含み、前記モジュール生成部は、前記各制御装置が、停止動作を含まない一連の動作のうち、動作を開始する位置を示す停止点座標と、終了位置を示す停止点座標との間の移動に基づいてプログラムモジュールを生成する。【０００８】
好適には、前記制御プログラム生成部により生成された制御プログラムを、ビジュアル工程図に可視化するプログラム可視化部をさらに有し、前記プログラム可視化部は、ビジュアル工程図を、前記制御装置の数に対応する数の制御装置のアイコンを横軸に、前記プログラムモジュールを縦軸にとった二次元マトリクスとして生成し、前記多関節ロボットの動作に不具合があった場合に、前記多関節ロボットの動作が基づいている、前記ビジュアル工程図上のモジュールを特定する実行モジュール特定部をさらに有し、前記プログラム可視化部は、ビジュアル工程図上の特定したプログラムモジュールと他のプログラムモジュールとを区別する。【０００９】
好適には、前記多関節ロボットの制御装置が退避動作をした場合に、前記プログラム可視化部は、前記多関節ロボットの制御装置が退避動作をした時に実行中であったビジュアル工程図上のプログラムモジュールを他のプログラムモジュールと区別し、前記退避動作とは、前記制御装置が垂直方向に上へ移動する動作である。【００１０】
好適には、モジュール生成部により生成されたプログラムモジュールの修正を行うモジュール修正部をさらに有し、モジュール修正部は、教示者による前記ロボットへの教示動作に基づいて、停止点座標または移動経路を修正する。【００１１】
本発明に係るロボット教示方法は、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するステップと、前記生成されたプログラムモジュールを組み合わせて前記ロボットを制御するステップとを有し、前記制御するステップにおいて、プログラムモジュールを生成するステップにおいて生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する。【００１２】
本発明に係るプログラムは、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成するステップと、前記生成されたプログラムモジュールを組み合わせて前記ロボットを制御するステップとをコンピュータに実行させ、前記制御するステップにおいて、プログラムモジュールを生成するステップにおいて生成された異なるプログラムモジュール、または同一のプログラムモジュールの組み合わせに基づいて前記ロボットの制御プログラムを生成する。
【発明の効果】
【００１３】
本発明によれば、ロボットの制御プログラムを効率的に生成することができる。
【図面の簡単な説明】
【００１４】
【図１】ロボット教示システム１の全体構成を例示する図である。
【図２】スカラロボット３の機能構成を例示する図である。
【図３】ビジュアル工程図生成器７の機能構成を例示する図である。
【図４】ビジュアル工程図を例示する図である。
【図５】ロボット教示システム１における、プログラムモジュール生成処理（Ｓ１０）を説明するフローチャートである。
【図６】ロボット動作工程フローチャートを例示する図である。
【図７】ロボット教示システム１における、制御プログラム生成処理（Ｓ２０）を説明するフローチャートである。
【図８】ロボット教示システム１におけるロボット教示処理（Ｓ３０）を説明するフローチャートである。
【図９】生成された制御プログラムが視覚化されたビジュアル工程図を例示する図である。
【発明を実施するための形態】
【００１５】
スカラロボットのプログラムは、記述式言語である「ロボット言語」を用いて生成されている。この手法でプログラムを作成する場合は、「ロボット操作技術者」と「ロボット言語プログラマー」との協同作業が必要である。また、ロボット本体の購入価格は、スカラロボットの普及拡大につれて、低下傾向にあるが、プログラム制作費は高止まりであり、「ロッボット購入・設置・プログラム制作費」の全体費用の中で大きな比重を占める様になってきた。また、このソフト制作費を大幅に低下させないと、「人手不足でスカラロボットの導入気運」の追い風に水を差す現象が産業界で生じている。したがって、ソフト制作費の大幅圧縮・減額が今後のスカラロボットの導入・普及の最大課題となっている。
【００１６】
また、従来、ロボットのプログラムを簡単に安価に制作できる手法として一般に「ダイレクトティーチング手法」が宣伝されてきた。しかしこの手法は、特殊用途に限定されたもので、一般のロボット用途には適用されていない。具体的には、ダイレクトティーチングが実用化されている領域は、「塗装ロボット」「一筆書きロボット」等の一連の連続動作を記憶し、始点から終点まで途中停止を含まないで、「一気に」一連の動作を実現するようなロボットのみに適用されているもので、多関節ロボット、スカラロボットなどの一般的なロボット・プログラムには適用出来ない手法・技術である。
【００１７】
そこで、本願発明は、上記課題を鑑み、記述言語である「ロボット言語」を用いる事な
く、つまり、専門家（ロボット操作技術者、プログラマー）の作業を必要としないことで
ロボット購入者（あるいはロボット使用者）の僅かの作業（ダイレクトポイントセッティング手法）でビジュアル化された動作プログラムが費用極小で入手することを可能にするものである。
【００１８】
ダイレクトポイントセッティング手法とは、ダイレクトティーチング手法では実現出来ない、スカラロボット用プログラム生成システムを、複数の途中停止点を含み、かつ、途中プログラムを教示できるポイント・セッティング手法である。
ポイント・セッティング手法とは、スカラロボットの基本動作を「ポイント−ＴＯ―ポイント」（Ｐ−ｔ−Ｐ）（点から点への動作）であると捉え、動作工程を「停止点座標」と「停止点座標間の移動」の２つの基本要素からなるものとする。そして、「停止点」と「停止点間の移動」の２つの基本要素を１工程で表し、ビジュアル化した「ビジュアル工程図」用紙（特許第４３３２８７９号）を用い、概念の適用・利用範囲を拡大したものである。
【００１９】
具体的には、１つのポイントを教示すると、「停止点」と、つまり、工程番号ＮにＮ点の座標位置とＮ点までの速度が入力される。この教示動作を、図６に例示するロボット動作工程フローチャートに基づき全ポイント実施する。ここで、ロボット動作工程フローチャートとは、スカラロボットに作業を行わせる手順を、スカラロボットの教示における２つの基本コンポーネントのポイント（Ｘ,Ｙ,Ｚ,θ）とポイント間の移動速度とを用いて表したものである。ポイント教示と図４に例示する「ビジュアル工程図」を用いることにより、ダイレクトポイントセッティング手法で、教示動作終了時には、ビジュアル工程図上にビジュアル化されたスカラロボットの制御プログラムが生成されている。つまり、教示動作により、ロボット動作座標空間内の教示ポイントと速度（教示ポイントまでの）のセットが工程ごとに、順に、スカラロボット内に入力されるので、自ずとＰ−ｔ−Ｐ動作プログラム（プログラムモジュール）が、スカラロボット内に生成される。同時に、このＰ−ｔ−Ｐ動作プログラムはパソコン画面上のビジュアル工程図内にもサーボアクチュエータのアイコンとロボット動作工程フローチャートに基づくプログラムのフローとして表示される。従って、ビジュアル工程図上にビジュアル化されたＰ−ｔ−Ｐ動作プログラムが生成されたことになる。
ただし、「停止点間の移動」速度については、安全動作を第一に考え、予め定めた安全速度を各ポイント全てに入力される様に設定されている。プログラムのデバック作業が終了した時点で実用速度に再設定する。
【００２０】
本実施形態のロボット教示システム１について説明する。
図１は、ロボット教示システム１の全体構成を例示する図である。
図１に例示するように、ロボット教示システム１は、スカラロボット３、ティーチングペンダント５、及びビジュアル工程図生成器７を有する。
スカラロボット３は、多関節ロボットであり、サーボモータの力で関節を可動させ、アームの先端に取り付けるエンドエフェクタを目的の位置に移動させ、物を掴んで移動させたり、溶接を行ったり、塗装を行ったりする。各関節には、サーボアクチュエータを含み、これにより、モータの位置や速度の制御を行う。サーボアクチュエータは、本発明に係る制御装置の一例である。
スカラロボット３は、本発明に係る多関節ロボットの一例であるが、多関節ロボットであれば、これに限定されない。
ティーチングペンダント５は、スカラロボット３に接続され、スカラロボット３の動作や設定、プログラムの入力を受け付ける。また、ティーチングペンダント５は、教示者による教示データの変更や修正、新規作成などを行う。
ビジュアル工程図生成器７は、スカラロボット３と通信し、スカラロボット３を制御する制御プログラムを可視化する、Ｗｉｎｄｏｗｓベースのパーソナルコンピュータである。
【００２１】
次にロボット教示システム１を使用してスカラロボット３の制御プログラムが生成されるまでの概要を説明する。
図１に例示するように、スカラロボット３、ティーチングペンダント５、及びビジュアル工程図生成器７を相互につなぎ、スカラロボット３を教示モードにし、ビジュアル工程図生成器７でダイレクトポイントセッティング機能を立ち上げる。次に、ロボット原点にスカラロボット３を移動させ教示動作を行う。これにより、教示ポイントの座標がビジュアル工程図の「ゼロ工程」に自動的に記入される。
次に、ロボット動作工程フローチャートの「工程１」を教示する、順次、動作フローチャートの最終工程まで上記動作を実行し教示動作を完了させる。これにより、教示動作を行うことで、ビジュアル工程図が完成し、同時に、制御プログラムが完成し、かつ、教示されたプログラムがロボットコントローラの内部にストアー（メモリ）される。つまり、教示動作を行うことで、ビジュアル化されたスカラロボット３の動作プログラムが自動的に生成されたことになる。
【００２２】
図２は、スカラロボット３の機能構成を例示する図である。
図２に例示するように、スカラロボット３には、モジュール生成プログラム３０がインストールされる。モジュール生成プログラム３０は、モジュール生成部３００、座標決定部３０２、及び座標変換部３０４を有する。
【００２３】
モジュール生成部３００は、教示者がロボットに教示した動作に基づいて、プログラムモジュールを生成する。プログラムモジュールとは、スカラロボット３の２つの停止点座標間の移動のプログラムである。ここで、移動とは、スカラロボット３のエンドファクタの移動を含む。２つの停止点間座標とは、各サーボアクチュエータが、停止動作を含まない一連の動作のうち、一連の動作を開始する停止点座標と終了する停止点座標とをいう。モジュール生成部３００により生成されたプログラムモジュールは、ビジュアル工程図生成器７で管理される。停止点座標間の動作が、停止動作を含まない、簡易な動作であるため、教示動作が小さくなり、教示者の負担が軽減される。
【００２４】
座標決定部３０２は、スカラロボット３の停止点の座標を決定する。具体的には、「教示ボタン」を押下した時点の座標がスカラロボット３の停止点であると認識し、座標を決定する。
【００２５】
座標変換部３０４は、サーボアクチュエータの座標をスカラロボット３の動作空間座標に変換する。具体的には、ロボット動作空間内でスカラロボット３のエンドエフェクタ（ロボットの軸の先端部）を必要な位置に置いて（ポイントにセットする方法は、当然、手動動作にて、ジョグ動作にて、手動とジョグ動作の併用等）教示動作を行うと、教示されたデータは、この時点では、ロボット動作空間内の（ＸＪ１ｘｙ、ＸＪ２ｘｙＪ３Ｚ、Ｊ４）のデータではなく、サーボアクチュエータ（Ｊ１、Ｊ２、Ｊ３、Ｊ４）軸のエンコーダ・データであり、座標変換部３０４は、軸エンコーダ座標データを逆変換機能によりロボット動作空間座標に変換する。つまり、ロボット動作空間内で教示されたデータは、実は教示時点ではロボット動作空間座標ではなく、各サーボアクチュエータの軸にセットされている、回転型のエンコーダ・データである。座標変換部３０４が、エンコーダ・データをロボット動作空間データに変換することにより、エンドエフェクタの空間座標（ＸＪ１ｘｙ,ＸＪ２ｘｙ,Ｊ３Ｚ）軸＋手首座標（θ）軸が得られる。
【００２６】
図３は、ビジュアル工程図生成器７の機能構成を例示する図である。
図３に例示するように、ビジュアル工程図生成器７には、自動生成プログラム７０がインストールされると共に、モジュール格納データベース６００（モジュール格納ＤＢ６００）が構成されている。自動生成プログラム７０は、制御プログラム生成部７００、モジュール格納部７０２、プログラム可視化部７０４、実行モジュール特定部７０６、及びモジュール修正部７０８を有する。モジュール格納部７０２、及びモジュール格納ＤＢ６００は、モジュール生成プログラム３０が有していてもよい。
【００２７】
制御プログラム生成部７００は、モジュール生成部３００により生成されたプログラムモジュールを組み合わせてスカラロボット３を制御する。具体的には、制御プログラム生成部７００は、モジュール生成部３００により生成された異なるプログラムモジュール、または同一のモジュールの組み合わせに基づいてスカラロボット３の制御プログラムを生成する。ここで、プログラムモジュールＡの動作の終了停止点座標と、組み合わせたいＢの動作の開始停止点座標とが一致しない場合、制御プログラム生成部７００は、プログラムモジュールＢがプログラムモジュールＡと繋がるよう、プログラムモジュールＢの動作の開始停止点座標、動作の終了停止点座標とを修正する。
【００２８】
モジュール格納部７０２は、モジュール生成部３００により生成されたプログラムモジュールを受信し、モジュール格納ＤＢ６００に格納し、管理する。
プログラム可視化部７０４は、制御プログラム生成部７００により生成された制御プログラムを、ビジュアル工程図に可視化する。具体的には、プログラム可視化部７０４は、ビジュアル工程図を、サーボアクチュエータ数に対応する数のサーボアクチュエータのアイコンを横軸に、プログラムモジュールを縦軸にとった二次元マトリクスとして生成する。
【００２９】
また、プログラム可視化部７０４は、実行モジュール特定部７０６（後述）によりビジュアル工程図上の特定したプログラムモジュールと他のプログラムモジュールとを区別する。区別する方法としては、ビジュアル工程図上のモジュールを点滅させるなどである。これより、使用者は、どのモジュールに不具合があるかを視認することができ、異常モジュールの検知が早くなる。
【００３０】
ここで、図４に例示される、ビジュアル工程図について説明する。
ビジュアル工程図は、特許第４３３２８７９号にて考案されたもので、使用される複数のサーボアクチュエータ（サーボモータ）を上部横軸にセットし、ビジュアル工程図側の縦列左に工程番号を記入し、縦横２次元マトリックスを構成し、どのＳｔｅｐ（工程）でどのアクチュエータを使用するのか、そのサーボアクチュエータを使用してどこまで動かすのか、つまり、「Ｐｏｉｎｔ」（到達点）「速度」（到達点までの速度）が記入され、工程図（アクチュエータの制御プログラム）をビジュアル化するよう構成されている。
ロボットへの教示方法は、図６に例示するロボット動作工程フローチャートより、「待機点」の工程をＳｔｅｐ（工程）「００」ロボット動作空間座標「Ｐｏｉｎｔ０（ゼロ）」（Ｊ1ｘｙ（水平第一軸）、Ｊ２ｘｙ（水平第二軸）、Ｊ３ｚ（上下第三軸）、Ｊ４（手首第四軸））にロボットのエンドエフェクタの待機位置をセットし、ティーチングペンダント５の「教示ボタン」を押して、教示動作を実行する。ビジュアル工程図上の機能アイコンには、各サーボアクチュエータ、動作完了、タイマー、入出力条件、始点、終点等がある。これらを必要に応じて、直下の二次元マトリクス空間にドラッグアンドドロップで配置する。
【００３１】
実行モジュール特定部７０６は、スカラロボット３の動作が基づいているプログラムモジュールを特定する。具体的には、実行モジュール特定部７０６は、スカラロボット３の動作に不具合があった場合に、不具合の動作が基づいている、ビジュアル工程図上のモジュールを特定する。
【００３２】
また、実行モジュール特定部７０６は、スカラロボット３の動作に不具合があった場合に、警告音を発する。
さらに、実行モジュール特定部７０６は、スカラロボット３のサーボアクチュエータが退避動作を行った場合に、スカラロボット３のアクチュエータが退避動作をした時に実行中であったビジュアル工程図上のプログラムモジュールを特定する。退避動作とは、制御装置が垂直方向に上へ移動する動作をいう。
【００３３】
モジュール修正部７０８は、モジュール生成部３００により生成されたプログラムモジュールの修正を行う。モジュール修正部７０８は、教示者によるスカラロボット３への教示動作に基づいて、停止点座標または移動経路を修正する。
【００３４】
図５は、ロボット教示システム１における、プログラムモジュールの生成処理（Ｓ１０）を説明するフローチャートである。
図５に例示するように、Ｓ１００（Ｓ１００）において、スカラロボット３に作業を行わせる手順（順序）を、スカラロボット３の教示における２つの基本コンポーネントのポイント（Ｘ,Ｙ,Ｚ,θ）とポイント間の移動速度とを用いて、図６に例示するロボット動作工程フローチャート用紙に記述する。ただし、速度については、ロボットの安全運転の観点から、教示動作で得られるプログラムについては、デバッグ前にはスカラロボット３の全運転領域において、予め定められた低速度が書き込まれる様に設定される機能を有している。
ステップ１０５（Ｓ１０５）において、教示者はスカラロボット３を待機位置へ移動させる。
ステップ１１０（Ｓ１１０）において、座標変換部３０４は、待機位置の各サーボアクチュエータの座標をロボット動作空間座標に変換する。
ステップ１１５（Ｓ１１５）において、教示者は、スカラロボット３を動作させ、スカラロボット３に次の停止点までの動作と次の停止点と速度とを教示する。
ステップ１２０（Ｓ１２０）において、モジュール生成部３００は、教示されたスカラロボット３の停止点間の移動をプログラムモジュールとして生成し、ビジュアル工程図生成器７のモジュール格納部７０２は、プログラムモジュールをモジュール格納ＤＢ６００で管理する。
ステップ１２５（Ｓ１２５）において、プログラム可視化部７０４は、停止点座標間の動作をビジュアル工程図に表す。
【００３５】
図７は、スカラロボット３の制御プログラムを生成する制御プログラム生成処理（Ｓ２０）のフローチャートである。
ステップ２００（Ｓ２００）において、スカラロボット３、ティーチングペンダント５、及び、ビジュアル工程図生成器７を相互につなぎ、スカラロボット３を教示モードにし、ビジュアル工程図生成器７でダイレクトポイントセッティング機能を立ち上げ、ロボット原点にロボットを移動させ教示ボタンを押下する。座標決定部３０２は、停止点の座標を決定し、保持する。
ステップ２０５（Ｓ２０５）において、教示者は、スカラロボット３に、次の停止点までの動作と停止点と速度とを教示する。
ステップ２１０（Ｓ２１０）において、座標決定部３０２は、次の停止点の座標を決定し、保持し、モジュール生成部３００は、停止点間の動作をプログラムモジュールとして生成する。モジュール格納部７０２は、モジュール格納ＤＢ６００に生成したプログラムモジュールを保存する。プログラム可視化部７０４は、モジュール生成部３００により生成されたプログラムモジュールをビジュアル工程図上に表す。
ステップ２１５（Ｓ２１５）において、サブルーチンが必要である場合に自動生成プログラム７０は、Ｓ２２０の処理に移行し、サブルーチンが必要ない場合は、Ｓ２２５の処理に移行する。
ステップ２２０（Ｓ２２０）において、スカラロボット３が停止点座標に到達した場合の動作を設定する。動作とは、例えば待機時間の挿入等である。
ステップ２２５（Ｓ２２５）において、他のモジュールまたは同一のモジュールとの組み合わせが必要である場合には、自動生成プログラム７０は、Ｓ２３０の処理に移行し、組合せが必要でない場合は、処理を終了する。
ステップ２３０（Ｓ２３０）において、モジュール格納部７０２は、組み合わせたいプログラムモジュールをモジュール格納ＤＢ６００から読み出す。
ステップ２３５（Ｓ２３５）において、制御プログラム生成部７００は、Ｓ２１０において記憶したプログラムモジュールに、読み出したプログラムモジュールを組み合わせてスカラロボット３の制御プログラムを生成する。
制御プログラム生成処理（Ｓ２０）では、他のプログラムモジュールの組み合わせの要否の判定をサブルーチンの要否の判定後に行っているが、これに限定されず、サブルーチンの要否の判定前に行ってもよい。
【００３６】
図８は、ロボット教示システム１におけるロボット教示処理（Ｓ３０）を説明するフローチャートである。
ロボット教示処理（Ｓ３０）は、図６に例示する作成済みのロボット動作工程フローチャートに基づいて行われるものとする。また、Ｊ１ｘｙは水平第一軸、Ｊ２ｘｙは、水平第二軸、Ｊ３ｚは、上下第三軸、Ｊ４は、手首第四軸を示す。
図８に例示するように、ステップ３００（Ｓ３００）において、スカラロボット３をロボット待機点に手動でセットする。
ステップ３０５（Ｓ３０５）において、ロボット待機点をビジュアル工程図のＳｔｅｐ「００」行にＰｏｉｎｔ「０」を記入し、その行にアクチュエータ・アイコンＪ１ｘｙ、Ｊ２ｘｙ、Ｊ３ｚ、Ｊ４をドラッグアンドドロップする。
ステップ３１０（Ｓ３１０）において、Ｓｔｅｐ「０１」行のアイコン（Ｊ１ｘｙ、Ｊ２ｘｙ）をマウスで「ダブル・クリック」し、Ｐｏｉｎｔ「１」の座標データ記入窓が開き、ここでティーチングペンダント５の教示ボタンを押下し、教示データを読み込ませる。教示データとは、前の停止点座標と最新の停止点座標との差分データである。
【００３７】
ステップ３１５（Ｓ３１５）において、Ｓｔｅｐ「０２」行のアイコン（Ｊ３ｚ）をマウスで「ダブル・クリック」すると、Ｊ３ｚのＰｏｉｎｔ「０」の座標データ記入窓が開く、ここでティーチングペンダント５の教示ボタンを押下し、教示データを読み込ませる。
ステップ３２０（Ｓ３２０）において、Ｓｔｅｐ「００」行のアイコン（Ｊ４）をマウスで「ダブル・クリック」すると、Ｊ４のＰｏｉｎｔ「０」の座標データ」記入窓が開く、ここでティーチングペンダント５の教示ボタンを押下し、教示データを読み込ませる。
ステップ３２５（Ｓ３２５）において、ロボット動作工程フローチャートのＳｔｅｐ「０１」へロボットのエンドエフェクタを手動でセットし、ビジュアル工程図で、ロボット（Ｊ１ｘｙ、Ｊ２ｘｙ）のアイコンを、ドラッグアンドドロップし、マウスで「ダブル・クリック」すると、Ｐｏｉｎｔ「１」の座標データ」記入窓が開く、ここでティーチングペンダント５の教示ボタンを押下し、教示データを読み込ませる。
ステップ３３０（Ｓ３３０）において、ロボット動作工程フローチャートのＳｔｅｐ「０２」へロボットのエンドエフェクタを手動でセットし、ビジュアル工程図で、Ｓｔｅｐ「２」、Ｐｏｉｎｔ「２」を記入し、その行にロボット（Ｊ３ｚ）のアイコンを、ドラッグアンドドロップし、マウスで「ダブル・クリック」すると、ポイント「２」の座標データ」記入窓が開く、ここでティーチングペンダント５の教示ボタンを押下し、教示データを読み込ませる。
【００３８】
ステップ３３５（Ｓ３３５）において、ロボット動作工程フローチャートのポイントＳｔｅｐ「０３」へロボットのエンドエフェクタを手動でセットし、ビジュアル工程図で、Ｓｔｅｐ「０３」、ポイント「３」を記入し、その行にロボット（Ｊ３）のアイコンを、ドラッグアンドドロップし、マウスでポイントすると、ポイント「３」の座標データ」記入窓が開く、ここでティーチングペンダント５の教示ボタンを押下し、教示データを読み込ませる。
ステップ３４０（Ｓ３４０）において、順次、ロボット工程フローチャートに基づき、各教示ポイントを教示する。ロボット動作工程フローチャートの全工程の教示が完了した場合は、ロボット教示処理（Ｓ３０）は、Ｓ３４５の処理に移行し、終了していない場合は、Ｓ３５０の処理に移行する。
ステップ３４５（Ｓ３４５）において、制御プログラムが生成され、ビジュアル工程図の用紙内に教示された全ポイントのアイコンが表示される。つまり、図９に例示するように、生成された制御プログラムがビジュアル工程図上に表される。
ステップ３５０（Ｓ３５０）において、ボット動作工程フローチャートの次のポイントを教示する。
【００３９】
以上説明したように、ロボット教示システム１は、スカラロボット３の最少の動作単位をプログラムモジュールとして管理しており、組み合わせることにより制御プログラムを生成できるため、複雑な動作すべてを教示する必要なく、プログラムモジュールを組み合わせてスカラロボット３の複雑な動作の制御プログラムの生成を可能にする。
また、ロボット教示システム１は、記述言語である「ロボット言語」を用いる事なく、専門家（ロボット操作技術者、プログラマー）の作業を必要としないことで、ロボット購入者（あるいはロボット使用者）の僅かの作業（ダイレクトポイントセッティング手法）でビジュアル化された動作プログラムが費用極小で入手することができる。
さらに、ビジュアル化された動作プログラムを用いれば、プログラムの不具合に依る停止点が目視（ビジュアル化）できるため、プログラムのデバッグ作業が極めて簡単に実施できる。
【００４０】
そして、記述言語プログラムを使用した場合のプログラムの調整作業は、調整箇所のプログラムをプログラマーに指示し、変更箇所のプログラムを修正し、ＲＯＭ（メモリ）に焼き、ロボットコントローラにセットし、ロボットを試運転する。ロボットの仕様を満たすまで繰り返し、これらの作業を続ける。従って、費用が大幅に発生する。一方で、ロボット教示システム１により生成された制御プログラムはビジュアル化されているので、調整箇所が目視でき、かつ、リアルタイム調整が可能であるため、ロボット教示システム１により生成した制御プログラムをロボット実機動作に合わせ込む作業が短時間で実施できる。具体的には、ロボット教示システム１によるビジュアル化された制御プログラムの調整作業は、記述言語に依るプログラムの調整作業の１００分の１程度の作業時間で済み、効率が良い。
【符号の説明】
【００４１】
１…ロボット教示システム
３…スカラロボット
５…ティーチングペンダント
７…ビジュアル工程図生成器
【図１】
2019244363.tif 000003
【図２】
2019244363.tif 000004
【図３】
2019244363.tif 000005
【図４】
2019244363.tif 000006
【図５】
2019244363.tif 000007
【図６】
2019244363.tif 000008
【図７】
2019244363.tif 000009
【図８】
2019244363.tif 000010
【図９】
2019244363.tif 000011
【国際調査報告】
2019244363.tif 000012
2019244363.tif 000013
2019244363.tif 000014
2019244363.tif 000015