(57)【要約】【課題】教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がないロボットの教示方法及びロボットの教示システムを提供する。【解決手段】教示器３と、ロボットアーム１及びロボット制御器２を備えるロボット１０と、を備えるロボットの教示システム１００であって、ワークが、開口を有する内部空間を備え、且つ内部空間にエンドエフェクタの作業対象が存在しており、ロボット制御器２は、ロボットアーム１のジョグ送り動作又はインチング動作においてアーム部と開口とが干渉する可能性があるか否かを判定する。【選択図】  図２
2019188576.tif 000002
【特許請求の範囲】
【請求項１】
アーム部の先端にエンドエフェクタが設けられたロボットアームと教示器の操作に応じて前記ロボットアームの動作を制御し且つ教示点を設定するロボット制御器とを備えるロボットの教示方法であって、
ワークが、開口を有する内部空間を備え、且つ前記内部空間に前記エンドエフェクタの作業対象が存在しており、
前記教示方法は、前記教示器をジョグ送り又はインチング操作することによって、前記ロボットアームをジョグ送り動作又はインチング動作させ、且つ前記ロボット制御器によって、前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定することを含む、ロボットの教示方法。
【請求項２】
前記教示方法は、
前記教示器をジョグ送り又はインチング操作することによって、前記ロボットアームが、前記エンドエフェクタを前記開口から前記ワークの内部空間に進入させた後、ジョグ送り動作又はインチング動作を行いながら、前記内部空間において前記エンドエフェクタによって前記作業対象に対する作業を行うように前記ロボットアームを動作させる工程（ａ）を含み、
前記工程（ａ）は、
前記教示器を教示点設定操作することによって、前記工程（ａ）における前記ロボットアームの動作を実現する複数の教示点を設定する工程（ａ１）と、
前記ロボット制御器によって、前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する工程（ａ２）と、を含む、請求項１に記載のロボットの教示方法。
【請求項３】
前記教示方法は、前記アーム部と前記開口とが干渉する可能性があると判定された場合に、前記ロボット制御器が前記ロボットアームの動作を制御することによって前記アーム部と前記開口との干渉を回避し、又は、前記ロボット制御器が警告器を制御することによって警告を発する工程をさらに含む、請求項１又は２に記載のロボットの教示方法。
【請求項４】
前記教示方法は、
前記教示器をジョグ送り又はインチング操作することによって、前記エンドエフェクタを前記ワークの開口を定義する定義点に位置させる工程（ｂ１）と、前記教示器を定義点設定操作することによって、前記ロボット制御器が前記定義点の位置と定義順とを互いに対応させて設定する工程（ｂ２）と、を繰り返す工程（ｂ）、をさらに含み、
前記開口が、前記工程（ｂ）において繰り返し設定された複数の定義点を定義順に直線で結ぶようにして特定されたものである、請求項２又は３に記載のロボットの教示方法。
【請求項５】
前記ワークの内部空間が複数の開口を有し、
前記教示方法は、
前記工程（ａ）の前に、前記教示器を選択操作することによって、前記ワークの前記複数の開口のいずれかを選択する工程（ｃ）を更に含み、
選択された開口について、前記工程（ａ）、又は前記工程（ａ）及び（ｂ）、又は前記工程（ａ）−（ｃ）を行う、請求項２乃至４のいずれかに記載のロボットの教示方法。
【請求項６】
前記ワークが組立途中の自動車の車体であり、前記開口が前記車体のドアの窓である、請求項１乃至５のいずれかに記載のロボットの教示方法。
【請求項７】
教示器と、
アーム部の先端にエンドエフェクタが設けられたロボットアーム、及び前記教示器の操作に応じて前記ロボットアームの動作を制御し且つ教示点を設定するロボット制御器を備えるロボットと、を備え、
ワークが、開口を有する内部空間を備え、且つ前記内部空間に前記エンドエフェクタの作業対象が存在しており、
前記ロボット制御器は、
前記教示器に対するジョグ送り又はインチング操作に応じて、前記ロボットアームをジョグ送り動作又はインチング動作させ、且つ前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する、ロボットの教示システム。
【請求項８】
前記ロボット制御器は、
前記教示器に対するジョグ送り又はインチング操作に応じて、前記ロボットアームが、前記エンドエフェクタを前記開口から前記ワークの内部空間に進入させた後、ジョグ送り動作又はインチング動作を行いながら、前記内部空間において前記エンドエフェクタによって前記作業対象に対する作業を行うように前記ロボットアームの動作を制御する工程（ａ）行い、
前記工程（ａ）は、
前記教示器に対する教示点設定操作に応じて、前記制御（ａ）における前記ロボットアームの動作を実現する複数の教示点を設定する工程（ａ１）と、
前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する工程（ａ２）と、を含む、請求項７に記載のロボットの教示システム。
【請求項９】
前記アーム部と前記開口とが干渉する可能性があると判定された場合に、前記ロボット制御器が前記ロボットアームの動作を制御することによって前記アーム部と前記開口との干渉を回避し、又は、前記ロボット制御器が警告器を制御することによって警告を発する、請求項７又は８に記載のロボットの教示システム。
【請求項１０】
前記ロボット制御器は、
前記教示器をジョグ送り又はインチング操作することによって、前記エンドエフェクタを前記ワークの開口を定義する定義点に位置させる工程（ｂ１）と、前記教示器を定義点設定操作することによって、前記ロボット制御器が前記定義点の位置と定義順とを互いに対応させて設定する工程（ｂ２）と、を繰り返す工程（ｂ）、をさらに行い、
前記開口が、前記工程（ｂ）において繰り返し設定された複数の定義点を定義順に直線で結ぶようにして特定されたものである、請求項８又は９に記載のロボットの教示システム。
【請求項１１】
前記ワークの内部空間が複数の開口を有し、
前記ロボット制御器は、
前記工程（ａ）の前に、前記教示器に対する選択操作に応じて、前記ワークの前記複数の開口のいずれかを選択する工程（ｃ）を更に行い、
選択された開口について、前記工程（ａ）、又は前記工程（ａ）及び（ｂ）、又は前記工程（ａ）−（ｃ）を行う、請求項８乃至１０のいずれかに記載のロボットの教示システム。
【請求項１２】
前記ワークが組立途中の自動車の車体であり、前記開口が前記車体のドアの窓である、請求項７乃至１１のいずれかに記載のロボットの教示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの教示方法及びロボットの教示システムに関する。
【背景技術】
【０００２】
従来からロボットの教示方法として、オフラインでキャドデータに基づいて、ロボットの教示データを自動で生成することが知られている（例えば、特許文献1参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１００７５５公開特許公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記のようにオフラインで自動生成された教示データ（以下、オフライン自動生成教示データという）には、以下のような問題があった。
【０００５】
ロボットの作業対象である製品には、部品の製造誤差、組立誤差等があり、オフライン自動生成教示データをそのまま使用すると、作業に支障を来す可能性があった。また、オフライン自動生成教示データは、実際の作業に適しておらず、ロボットの作業効率が悪くなる場合があった。従って、実際にロボットを使用する作業現場では、オフライン自動生成データをそのままでは使用できず、それを、実際の作業に適合するよう調整することが行われていた。
【０００６】
とろこで、このオフライン自動生成教示データを調整するための教示を、ティーチペンダント等の教示器でロボットアームを操作して行う場合、以下のような問題があった。
【０００７】
半完成状態の製品に対してロボットで作業を行う場合、開口を有する内部空間にロボットアームを進入させて、先端のエンドエフェクタで内部の作業を行う場合がある。そのような内部の作業を教示する場合、エンドエフェクタの位置に応じて、ロボットアームの姿勢が変化するため、ロボットアームが開口に干渉しないか、注意を払うことが必要であった。
【０００８】
本発明はこのような課題を解決するためになされたもので、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がないロボットの教示方法及びロボットの教示システムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のある形態（aspect）に係るロボットの教示方法は、アーム部の先端にエンドエフェクタが設けられたロボットアームと教示器の操作に応じて前記ロボットアームの動作を制御し且つ教示点を設定するロボット制御器とを備えるロボットの教示方法であって、ワークが、開口を有する内部空間を備え、且つ前記内部空間に前記エンドエフェクタの作業対象が存在しており、前記教示方法は、前記教示器をジョグ送り又はインチング操作することによって、前記ロボットアームをジョグ送り動作又はインチング動作させ、且つ前記ロボット制御器によって、前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定することを含む。ここで、「ジョグ送り」とは、教示器の操作部を入力操作（操作部が押しボタンである場合、押す操作）している間、ロボットアームが動作する動作を意味する。「インチング」とは、教示器の操作部を１回入力操作すると、所定の動作量（所定距離）だけ、ロボットアームが動作する動作を意味する。
【００１０】
この構成によれば、ロボット制御器によって、ロボットアームのジョグ送り動作又はインチング動作においてアーム部と開口とが干渉する可能性があるか否かを判定するので、教示器を操作してロボットを教示する際に、ロボットアームと開口との干渉に注意を払う必要がない。
【００１１】
また、前記教示方法は、前記教示器をジョグ送り又はインチング操作することによって、前記ロボットアームが、前記エンドエフェクタを前記開口から前記ワークの内部空間に進入させた後、ジョグ送り動作又はインチング動作を行いながら、前記内部空間において前記エンドエフェクタによって前記作業対象に対する作業を行うように前記ロボットアームを動作させる工程（ａ）を含み、前記工程（ａ）は、前記教示器を教示点設定操作することによって、前記工程（ａ）における前記ロボットアームの動作を実現する複数の教示点を設定する工程（ａ１）と、前記ロボット制御器によって、前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する工程（ａ２）と、を含んでもよい。
【００１２】
この構成によれば、ロボットアームが、エンドエフェクタを開口からワークの内部空間に進入させた後、ジョグ送り動作又はインチング動作を行いながら、内部空間においてエンドエフェクタによって作業対象に対する作業を行うようにロボットアームを動作させる工程（ａ）において、アーム部と開口とが干渉する可能性があるか否かを判定するので、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がない。
【００１３】
前記教示方法は、前記アーム部と前記開口とが干渉する可能性があると判定された場合に、前記ロボット制御器が前記ロボットアームの動作を制御することによって前記アーム部と前記開口との干渉を回避し、又は、前記ロボット制御器が警告器を制御することによって警告を発することを含んでもよい。
【００１４】
この構成によれば、アーム部と開口とが干渉する可能性があると判定された場合に、アーム部と開口との干渉を回避し、又は、警告を発するので、アーム部と開口との干渉を好適に回避することができる。
【００１５】
前記教示方法は、前記教示器をジョグ送り又はインチング操作することによって、前記エンドエフェクタを前記ワークの開口を定義する定義点に位置させる工程（ｂ１）と、前記教示器を定義点設定操作することによって、前記ロボット制御器が前記定義点の位置と定義順とを互いに対応させて設定する工程（ｂ２）と、を繰り返す工程（ｂ）、をさらに含み、前記開口が、前記工程（ｂ）において繰り返し設定された複数の定義点を定義順に直線で結ぶようにして特定されたものであってもよい。
【００１６】
この構成によれば、作業現場において、教示器でロボットアームを操作することによって、簡便に開口を定義することができる。
【００１７】
前記ワークの内部空間が複数の開口を有し、前記教示方法は、前記工程（ａ）の前に、前記教示器を選択操作することによって、前記ワークの前記複数の開口のいずれかを選択する工程（ｃ）を更に含み、選択された開口について、前記工程（ａ）、又は前記工程（ａ）及び（ｂ）、又は前記工程（ａ）−（ｃ）を行ってもよい。
【００１８】
この構成によれば、ワークの内部空間が複数の開口を有する場合に、開口を選択して、開口を有する内部空間の内部の作業を教示することができる。
【００１９】
前記ワークが組立途中の自動車の車体であり、前記開口が前記車体のドアの窓であってもよい。
【００２０】
この構成によれば、ロボットを用いて、自動車の車体の窓越しに車体内部の作業を、ロボットアームと開口との干渉に注意を払わずに行うことができる。
【００２１】
また、本発明の他の形態（aspect）に係るロボットの教示システムによれば、教示器と、アーム部の先端にエンドエフェクタが設けられたロボットアーム、及び前記教示器の操作に応じて前記ロボットアームの動作を制御し且つ教示点を設定するロボット制御器を備えるロボットと、を備え、ワークが、開口を有する内部空間を備え、且つ前記内部空間に前記エンドエフェクタの作業対象が存在しており、前記ロボット制御器は、前記教示器に対するジョグ送り又はインチング操作に応じて、前記ロボットアームをジョグ送り動作又はインチング動作させ、且つ前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する。
【００２２】
この構成によれば、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がない。
【発明の効果】
【００２３】
本発明は、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がないロボットの教示方法及びロボットの教示システムを提供することができるという効果を奏する。
【図面の簡単な説明】
【００２４】
【図１】図１は、本発明の実施形態に係るロボットの教示システムの構成を示す模式図である。
【図２】図２は、図１のロボットの教示システムの制御系統の構成を示す機能ブロック図である。
【図３】図３は、ワークの開口越し行うワークの内部の作業をロボットに教示する様子を示す斜視図である。
【図４】図４は、ワークの開口を定義する定義点を示す模式図である。
【図５】図５は、ロボットアームのアーム部のリンクのモデリングを示す模式図である。
【図６】図６は、ロボットアームのアーム部のリンクモデルを示す模式図である。
【図７】図７は、ロボット制御器の教示制御を示すフローチャートである。
【図８】図８は、ロボット制御器のワークの開口定義制御を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。なお、以下では全ての図面を通じて同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。また、添付図面は、本発明を説明するための図である。それ故、本発明に無関係な要素が省略される場合、誇張のため寸法が正確でない場合、簡略化される場合、複数の図面において同一の要素の形状が互いに一致しない場合等がある。また、本発明は、以下の実施形態に限定されない。
【００２６】
（実施形態）
［ハードウェア上の構成］
図１は、本発明の実施形態に係るロボットの教示システムの構成を示す模式図である。
【００２７】
図１を参照すると、本実施形態のロボットの教示システム１００は、ロボットアーム１及びロボット制御器２を備えるロボット１０と、教示器３と、警告器６と、を備える。
【００２８】
＜ロボットアーム＞
ロボットアーム１は、基台１５と、基台１５に支持されたアーム部１３と、アーム部１３の先端部を構成する手首部１４装着されたエンドエフェクタ１７とを備えている。基台１５は、基台移動機構１５ａを備えており、この基台移動機構１５ａによって、後述するように走行路３１（図３参照）を移動可能に構成されている。本発明においては、このように、ロボットアーム１がエンドエフェクタ１７と基台移動機構１５ａを含むものと定義する。
【００２９】
ロボットアーム１は、図１に示すように３以上の複数の関節ＪＴ１〜ＪＴ６を有する多関節ロボットアームであって、複数のリンク１１ａ〜１１ｆが順次連結されて構成されている。より詳しくは、第１関節ＪＴ１では、基台１５と、第１リンク１１ａの基端部とが、鉛直方向に延びる軸回りに回転可能に連結されている。第２関節ＪＴ２では、第１リンク１１ａの先端部と、第２リンク１１ｂの基端部とが、水平方向に延びる軸回りに回転可能に連結されている。第３関節ＪＴ３では、第２リンク１１ｂの先端部と、第３リンク１１ｃの基端部とが、水平方向に延びる軸回りに回転可能に連結されている。第４関節ＪＴ４では、第３リンク１１ｃの先端部と、第４リンク１１ｄの基端部とが、第４リンク１１ｃの長手方向に延びる軸回りに回転可能に連結されている。第５関節ＪＴ５では、第４リンク１１ｄの先端部と、第５リンク１１ｅの基端部とが、リンク１１ｄの長手方向と直交する軸回りに回転可能に連結されている。第６関節ＪＴ６では、第５リンク１１ｅの先端部と第６リンク１１ｆの基端部とが、ねじり回転可能に連結されている。そして、第６リンク１１ｆの先端部にはメカニカルインターフェースが設けられている。このメカニカルインターフェースに、ロボットアーム１の作業内容に対応したエンドエフェクタ１７が着脱可能に装着される。エンドエフェクタ１７として、塗装ガン、溶接ガン、ナットランナ等が例示される。
【００３０】
ここでは、ロボットアーム１は、６軸の多関節ロボットアームで構成されており、基台移動機構１５ａがロボットアーム１の冗長軸としての７軸を構成している。
【００３１】
＜ロボット制御器＞
ロボット制御器２は、ロボットアーム１の動作を制御する。ロボット制御器２は、ロボット１０が設置される作業環境の適所に設置される。なお、制御器２は、ロボットアーム１の基台１５の内部に設けられてもよい。
【００３２】
＜教示器＞
教示器３は、ロボット１０を教示する装置である。教示器３の操作に応じて、ロボット制御器２の制御により、ロボットアーム１が動作し、教示点が設定され、又は、後述する開口の定義点が設定される。
【００３３】
＜警告器＞
警告器６は、操作者に警告を行う。警告器６として、ブザー、パトライト（登録商標）、スピーカ等が、例示される、ここでは、警告器６として、ブザーが用いられる。
【００３４】
［制御系統の構成］
図２は、図１のロボットの教示システム１００の制御系統の構成を示す機能ブロック図である。
【００３５】
図２を参照すると、教示器３に操作部（図示せず）が設けられており、操作部として、開始操作部、終了操作部、モード切替操作部、ジョグ送り操作部、インチング操作部、開口選択操作部、教示点設定操作部、及び定義点設定操作部が設けられている。
開始操作部、終了操作部、モード切替操作部、ジョグ送り操作部、インチング操作部、開口選択操作部、教示点設定操作部、及び定義点設定操作部を操作者が操作すると、それぞれ、開始指令、終了指令、モード切替指令、ジョグ送り指令、インチング指令、開口選択指令、教示点設定指令、及び定義点設定指令が、操作信号としてロボット制御器２の制御部４に出力される。これらの操作部は、ハードウェアとして設けられてもよく、表示部に操作領域として表示されてもよい。モード切替操作部は、ティーチモードと、開口定義モードと、リピートモードと、を切り替えることができる。「ジョグ送り」とは、操作部を入力操作（操作部が押しボタンである場合、押す操作）している間、ロボットアーム１が動作する動作を意味する。「インチング」とは、操作部を１回入力操作すると、所定の動作量（所定距離）だけ、ロボットアーム１が動作する動作を意味する。開口選択操作部は、操作者が開口を選択できるように構成されている。操作者は、開口を選択して開口選択部を操作する。
【００３６】
また、エンドエフェクタ１７、ワーク２１（図３参照）、開口２２（図３参照）、及び作業対象の「位置」とは、ロボット１０のベース座標系における位置を意味する。
【００３７】
教示器３は、例えば、ティーチペンダント、携帯情報端末、パーソナルコンピュータ等の情報処理器で構成される。携帯情報端末として、例えば、タブレット、スマートフォン、携帯電話等が例示される。教示器３とロボット制御器２との間の通信接続は、有線でも無線でも構わない。
【００３８】
ロボット制御器２は、制御部４と記憶部５とを備える。ロボット制御器２は、プロセッサとメモリとを含む演算器で構成される。演算器として、ＦＰＧＡ（field-programmable gate array）、マイクロコントローラ、ＰＬＣ(programmable logic controller)、マイクロプロセッサ等が例示される。ここでは、ロボット制御器２は、例えば、ＦＰＧＡで構成され、制御部４がＦＰＧＡのＣＰＵで構成され、記憶部５が、ＦＰＧＡのメモリで構成される。
【００３９】
記憶部５には、生成された動作プログラム５ａ及び開口定義データ５ｂが格納される。生成された動作プログラム５ａは、ロボットの教示システム１００の教示制御によって生成されたロボット１０の動作プログラムである。開口定義データ５ｂは、後述する開口２２の定義点設定制御によって生成されたデータである。なお、記憶部５には、予め、ワーク２１の複数の開口のデータ（図示せず）が格納されている。
【００４０】
制御部４は、記憶部５に格納された所定の制御プログラムを読み出して実行し、ロボットアーム１に制御信号を出力する。制御部４が、制御信号として、アーム部制御信号を出力すると、アーム部の各関節がアーム部制御信号に応じて回動する。制御部４が、制御信号として、エンドエフェクタ制御信号を出力すると、エンドエフェクタ１７がエンドエフェクタ制御信号に応じて動作する。制御部４が、制御信号として、基台移動機構制御信号を出力すると、基台移動機構１５ａが基台移動機構制御信号に応じて移動する。これらの制御は、フィードフォワード制御及びフィードバック制御のいずれでもよい。ここでは、フィードバック制御が行われる。
【００４１】
制御部４は、教示器３から、モード切替指令が入力されると、モード切替指令に応じて、ロボット１０の動作モードを、ティーチモードと、開口定義モードと、リピートモードとの間で切り替える。
【００４２】
制御部４は、ティーチモードへのモード切替指令が入力されると、ロボット１０をティーチモードに切り替える。このティーチモードにおいて、制御部４は、開口選択指令が入力されると、記憶部５に格納された複数の開口定義データ５ｂに対応する開口のうちから開口選択指令に対応する開口を選択する。そして、制御部４は、ジョグ送り指令が入力されると、ロボットアーム１をジョグ送り動作させ、インチング指令が入力されると、ロボットアーム１をインチング動作させる。制御部４は、その際に、ロボットアーム１のアーム部１３と選択された開口２２との干渉の可能性の有無をチェックする。そして、教示点設定指令が入力されると、教示点の設定を行うとともに設定された教示点に基づいてロボット１０の動作プログラム５ａを生成する。そして、この生成された動作プログラム５ａを記憶部５に格納する。
【００４３】
制御部４は、開口定義モードへのモード切替指令が入力されると、ロボット１０を開口定義モードに切り替える。開口定義モードにおいて、開口選択指令が入力されると、制御部４は、記憶部５のワーク２１の複数の開口のデータから、開口選択指令で選択された開口２２を選択する。制御部４は、ジョグ送り指令又はインチング指令が入力されると、ロボットアーム１をジョグ送り動作又はインチング動作させる。そして、制御部４は、定義点設定指令が入力されると、開口２２の定義点の設定を行う。制御部４は、全ての定義点が設定されると、設定された定義点を選択された開口２２（及びワーク２１）と対応させて、記憶部５に格納する。
【００４４】
制御部４は、リピートモードへのモード切替指令が入力されると、記憶部５から、生成された動作プログラム５ａを読み出して実行し、生成された動作運転プログラム５ａに従ってロボット１０を動作させる。
【００４５】
制御部４は、ロボットアーム１のアーム部１３と選択された開口２２との干渉の可能性が有ると判定すると、警告器６に警告を発せさせる。ここでは、制御部４は、警告器６としてのブザーを鳴らす。
【００４６】
＜作業環境＞
図３は、ワークの開口越しに行うワークの内部の作業をロボット１０に教示する様子を示す斜視図である。
【００４７】
図１及び図３を参照すると、ロボット１０は、ワーク２１の開口２２からロボットアーム１をワーク２１の内部に進入させて、エンドエフェクタ１７によって、ワーク２１の内部の作業を行う動作を教示される。ロボット１０のロボットアーム１の基台１５は、作業現場に設けられた走行路３１上に設置されている。
【００４８】
具体的には、基台１５は、走行路３１の延在方向に延びる直線状のガイド（図示せず）に摺動自在に嵌合しており、基台移動機構１５ａによって、走行路３１上を、矢印で示すように、走行路３１の延在方向に移動する。
【００４９】
走行路３１の延在方向は、ワーク２１の組み立てラインにおけるワークの搬送方向に平行である。
【００５０】
ワーク２１は、製造される過程で開口２２を有する内部空間が形成されるものであればよい。ここでは、ワーク２１が組立途中の自動車の車体であり、ワーク２１の内部空間が車体の内部空間であり、内部空間の開口２２が、車体の左右のドアの２つの窓、車体のフロント部の窓、車体のリア部の窓、及び車体の後側のサイド部の窓である。開口２２は、合計８つである。
【００５１】
ロボット１０は、ここでは、ロボットアーム１の先端部にエンドエフェクタ１７として、塗装ガンを備えていて、ワーク２１としての車体の室内のシーリングを行う。
【００５２】
［開口定義データ］
図４は、ワークの開口を定義する定義点の一例を示す模式図である。図４を参照すると、車体であるワーク２１の窓である開口２２を定義する５つの定義点Ｐ１〜Ｐ５が例示されている。
【００５３】
ワーク２１の開口２２は、複数の定義点Ｐ１〜Ｐ５の位置と、これらの複数の定義点Ｐ１〜Ｐ５の定義順と、これらの複数の定義点Ｐ１〜Ｐ５定義順に結ぶ複数の直線とによって、定義される。ここでは、定義点Ｐ１〜Ｐ５の定義順は、定義点Ｐ１が一番目、定義点Ｐ２が２番目、定義点Ｐ３が３番目、定義点Ｐ４が４番目、定義点Ｐ５が５番目である。これらの複数の定義点Ｐ１〜Ｐ５を定義順に複数（ここでは５つ）の直線に結ぶことによって、２次元又は３次元の多角形が形成され、この多角形によって、開口２２の形状及び位置が定義される（特定される）。
【００５４】
この複数の定義点Ｐ１〜Ｐ５の位置及び定義順が、それぞれ、互いに対応させられる（関係付けられる）とともにワーク２１及び開口２２と対応させられて（関係付けられて）、開口定義データ５ｂとして、記憶部５に格納される。
【００５５】
［干渉チェック］
次に、制御部４が行う干渉チェックを説明する。図５は、ロボットアームのアーム部のリンクのモデリングを示す模式図である。図６は、ロボットアームのアーム部のリンクモデルを示す模式図である。
【００５６】
ロボットアーム１のアーム部１３と開口２２とが干渉する可能性があるか否かの判定（以下、干渉チェックという）方法として、周知のものを用いることができる。本実施形態では、以下のようにして、ロボットアーム１のアーム部１３と開口２２との干渉チェックが行われる。
【００５７】
図５を参照すると、本実施形態では、ロボットアーム１のリンクモデルが用いられる。このリンクモデルは、ロボットアーム１のアーム部１３の形状を、（ａ）カプセル形状の厚みを表す半径Ｒ、（ｂ）始点の座標（Ｘ１，Ｙ１，Ｚ１）、（ｃ）終点の座標（Ｘ２，Ｙ２，Ｚ２）、（ｄ）どの軸（第１乃至第６関節ＪＴ１〜ＪＴ６）と同期して動作するかを示す同期軸パラメータで指定する。ここで、カプセル形状とは、図５に示すように、半径Ｒの円柱部と、この円柱部の両端に形成された半径Ｒの半球部とを有する形状を意味する。このカプセル形状のリンクモデルにおいては始点（Ｘ１，Ｙ１，Ｚ１）と終点（Ｘ２，Ｙ２，Ｚ２）と結ぶ直線がリンクモデルを代表する「線分」を表し、半径Ｒがリンクモデルの「厚み」を表している。
【００５８】
ここで、指定する始点及び終点の座標はロボットアーム１のアーム部１３の基準姿勢（全軸（全関節の軸角度）が０°）における各リンクでの位置座標である。
【００５９】
ロボットアーム１のアーム部１３のリンクモデルは、図６に示すようなものとなる。図６において、参照符号４１がリンクモデルを示す。
【００６０】
ロボットアーム１のアーム部１３と開口２２との干渉チェックは、開口２２の形状を表す線分（定義点同士を結ぶ直線）とカプセル形状のリンクモデルの線分との最短距離を計算し、この最短距離がリンクモデルの厚みＲ以下であるか否かを判定することによって行われる。この場合、リンクモデルは、ロボットアーム１のアーム部１３の各軸の角度によって、空間上の位置が変化する。そこで、リンクモデルの各軸角度には、「仮想指令値」と呼ぶ角度が用いられる。「仮想指令値」は、動作中のアーム部１３が一定時間後に移動する位置の各軸角度である。この一定時間は、アーム部１３が停止するのに必要な時間を元に決定される。この「仮想指令値」を用いて干渉チェックを行うことにより、実際の干渉が発生するよりも前に干渉を検知し、実際に干渉が発生することを未然に防ぐことができる。
【００６１】
［動作］
以上のように構成されたロボットの教示システム１００の動作を図３、図４、図７及び図８を用いて説明する。ロボットの教示システム１００の動作は、ロボット制御器２の制御部４がロボット１０を制御することにより実現される。
【００６２】
＜教示制御＞
図７は、ロボット制御器２の教示制御を示すフローチャートである。
【００６３】
図２、図３、図４及び図７を参照すると、操作者は、まず、教示器３のモード切替操作部を操作して、ロボット１０をティーチモードに切り替える。そして、操作者が教示器３の開始操作部を操作すると、この教示制御がスタートする。
【００６４】
まず、制御部４は、開口２２が選択されることを待機する（ステップＳ１でＮＯ、ステップＳ１）。具体的には、制御部４は、教示器３から開口選択指令が入力されるのを待機する。
【００６５】
操作者が教示器３で開口選択操作部を操作すると、制御部４は、記憶部５から選択された開口２２の定義点設定データを読み出し、複数の定義点Ｐ１〜Ｐ５を直線で結ぶことによって、選択された開口２２の形状及び位置を取得する（ステップＳ２）。
【００６６】
次いで、制御部４は、ジョグ送り又はインチング操作がなされることを待機する（ステップＳ３でＮＯ、ステップＳ３）。具体的には、制御部４は、教示器３からジョグ送り指令又はインチング指令が入力されるのを待機する。
【００６７】
操作者が教示器３のジョグ送り操作部又はインチング操作部を操作すると、制御部４は、入力されたジョグ送り指令又はインチング指令に対応するロボットアーム１の位置を算出して、予測位置とする。
【００６８】
次に、制御部４は、ロボットアーム１の予測位置と選択された開口２２の形状及び位置とに基づいて、両者が干渉する可能性があるか否か判定する（ステップＳ５）。制御部４は、上述の干渉チェックにより、ロボットアーム１のアーム部１３と開口２２との干渉の可能性を判定する。
【００６９】
制御部４は、両者が干渉すると判定すると（ステップＳ５でＹＥＳ）、回避動作及び警告を行う（ステップＳ６）。具体的には、制御部４は、まず、警告器６に警告を発せさせる。また、制御部４は、回避動作として、ロボットアーム１の基台１５の基台移動機構１５ａを制御して、アーム部１３が開口２２から離れるような姿勢を取るように、基台１５を移動させる。又は、制御部４は、ロボットアーム１を停止させるか、ロボットアーム１の動作速度を遅くする。
【００７０】
次に、制御部４は、ジョグ送り又はインチング操作がなされることを待機する（ステップＳ７でＮＯ、ステップＳ７）。
【００７１】
操作者が教示器３のジョグ送り操作部又はインチング操作部を操作すると、制御部４は、警告器６による警告を解除し（ステップＳ８）、ステップＳ４に制御を戻す。
【００７２】
一方、制御部４は、ステップＳ５で両者が干渉しないと判定すると（ステップＳ５でＮＯ）、ロボットアーム１を予測した位置まで動作させる（ステップＳ９）。
次に、制御部４は、教示点設定操作がなされたか否か判定する（ステップＳ１０）。具体的には、制御部４は、教示器３から教示点設定指令が入力されたか否か判定する。
制御部４は、教示点設定指令が所定時間内に入力されないと（ステップＳ１０でＮＯ）、ステップＳ１２に制御を進める。
【００７３】
一方、制御部４は、教示点設定指令が所定時間内に入力されると（ステップＳ１０でＹＥＳ）、ロボットアーム１のエンドエフェクタの位置を教示点として設定する（ステップＳ１１）。
【００７４】
次いで、制御部４は、教示器３から、終了指令が入力された否か判定する（ステップＳ１２）。具体的には。制御部４は、教示器３から終了指令が入力された否か判定する。
【００７５】
制御部４は、終了指令が入力されないと（ステップＳ１２でＮＯ）、ステップＳ３に制御を戻す。
【００７６】
そして、操作者による教示器３のジョグ送り操作部又はインチング操作部への操作と教示点設定操作部への操作とに応じて、制御部４が、ステップＳ３乃至ステップＳ１２を繰り返し、その間に、図３に示すように、ロボットアーム１がワーク２１の開口２２からエンドエフェクタ１７をワーク２１の内部空間（ここでは、車体の室内）に進入させ、その後、ジョグ送り動作又はインチング動作を行いながら、この内部空間においてエンドエフェクタ１７によって作業対象に対する作業の教示を行う。そして、作業対象に対する作業の教示が終了すると、操作者は、教示器３の終了操作部を操作する。
【００７７】
すると、制御部４は、終了指令が入力されたと判定し（ステップＳ１２でＹＥＳ）、この教示制御を終了する。
【００７８】
これにより、教示器３を操作して開口２２を有する内部空間の内部の作業を教示することができる。そして、その際に、ロボットアーム１のアーム部１３と開口２２との干渉に注意を払う必要がない。
【００７９】
＜開口定義制御＞
図８は、ロボット制御器のワークの開口定義制御を示すフローチャートである。図２、図４及び図８を参照すると、操作者は、まず、教示器３のモード切替操作部を操作して、ロボット１０を開口定義モードに切り替える。そして、操作者が教示器３の開始操作部を操作すると、この開口定義制御がスタートする。
【００８０】
まず、制御部４は、開口２２が選択されることを待機する（ステップＳ１でＮＯ、ステップＳ１）。具体的には、制御部４は、教示器３から開口選択指令が入力されるのを待機する。
【００８１】
操作者が教示器３で開口選択操作部を操作すると、制御部４は、記憶部５のワーク２１の複数の開口のデータから選択された開口２２を選択する（ステップＳ２）。
【００８２】
次いで、制御部４は、ジョグ送り又はインチング操作がなされることを待機する（ステップＳ３でＮＯ、ステップＳ３）。具体的には、制御部４は、教示器３からジョグ送り指令又はインチング指令が入力されるのを待機する。
【００８３】
操作者が教示器３のジョグ送り操作部又はインチング操作部を操作すると、制御部４は、入力されたジョグ送り指令又はインチング指令に対応する位置にロボットアーム１のエンドエフェクタ１７位置させる。
【００８４】
次いで、制御部４は、定義点設定操作がなれたか否か判定する（ステップＳ２４）。具体的には、制御部４は、教示器３から定義点設定指令が所定時間内に入力された否か判定する。
【００８５】
操作者が教示器３の定義点設定操作部を操作すると、制御部４は、定義点設定操作がなれたと判定し（ステップＳ２４でＹＥＳ）、定義点の位置及び定義順を、互いに対応させるとともに開口とも対応させて設定する。
【００８６】
一方、教示器３から定義点設定指令が所定時間内に入力されない場合、制御部４は、ステップＳ２６に制御を進める（ステップＳ２４でＮＯ）。
【００８７】
次いで、制御部４は、教示器３から終了指令が入力されたか否か判定する（ステップＳ２６）。
【００８８】
終了指令が入力されなかった場合、制御部４は、ステップＳ２２に制御を戻す。
【００８９】
そして、操作者による教示器３のジョグ送り操作部又はインチング操作部への操作に応じて、制御部４が、ステップＳ２２〜２４，２６を繰り返し、その間に、図４に示すように、ロボットアーム１がエンドエフェクタ１７の先端を開口２２の定義点Ｐ１に位置させる。そして、操作者が教示器３の定義点設定操作部を操作すると、制御部４は、ステップＳ２４において、定義点操作がなされたと判定し（ステップＳ２４でＹＥＳ）、定義点Ｐ１の位置と定義順（１番目）を設定する（ステップＳ２５）。
【００９０】
この後、同様に、操作者が操作し、且つその操作に応じて制御部４が動作することによって、定義点Ｐ２〜Ｐ５のそれぞれの位置及び定義順が設定される。そして、操作者が、教示器３の終了操作部を操作する。
【００９１】
すると、制御部４は、終了指令が入力されと判定し（ステップＳ２６でＹＥＳ）、この開口定義制御を終了する。
【００９２】
これにより、開口２２の複数の定義点設定が行われる。
【００９３】
（その他の実施形態）
上記実施形態では、ロボット１０が、基台移動機構１５及び走行路３１からなる冗長軸を備えているが、これを省略してもよい。
【００９４】
また、上記実施形態では、作業現場において、ロボット１０を用いて開口２２を定義したが、別途、開口２２を定義してもよい。例えば、予め、ワーク２１の設計データに基づいて、開口２２の形状及びワーク２１の位置を特定したデータを作成し、それを、開口定義データ５ｂとして、記憶部５に格納しておいてもよい。
【００９５】
また、上記実施形態において、リピートモードにおいても、上記干渉チェック並びに警告及び回避動作を行うようにしてもよい。
【００９６】
上記説明から、当業者にとっては、多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきである。
【産業上の利用可能性】
【００９７】
本発明のロボットの教示方法及びロボットの教示システムは、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がないロボットの教示方法及びロボットの教示システムとして有用である。
【符号の説明】
【００９８】
１  ロボットアーム
２  ロボット制御器
３  教示器
４  制御部
５  記憶部
６  警告器
１０  ロボット
１５  基台
１５ａ  基台移動機構
１７  エンドエフェクタ
２１  ワーク
２２  開口
３１  走行路
１００  ロボットの教示システム
【図１】
2019188576.tif 000003
【図２】
2019188576.tif 000004
【図３】
2019188576.tif 000005
【図４】
2019188576.tif 000006
【図５】
2019188576.tif 000007
【図６】
2019188576.tif 000008
【図７】
2019188576.tif 000009
【図８】
2019188576.tif 000010