(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-05
(45)【発行日】2022-08-16
(54)【発明の名称】ロボットの教示方法及びロボットの教示システム
(51)【国際特許分類】
B25J 9/22 20060101AFI20220808BHJP
B25J 19/06 20060101ALI20220808BHJP
G05B 19/42 20060101ALI20220808BHJP
【FI】
B25J9/22 Z
B25J19/06
G05B19/42 D
(21)【出願番号】P 2018087229
(22)【出願日】2018-04-27
【審査請求日】2021-03-26
(73)【特許権者】
【識別番号】000000974
【氏名又は名称】川崎重工業株式会社
(74)【代理人】
【識別番号】110000556
【氏名又は名称】特許業務法人 有古特許事務所
(72)【発明者】
【氏名】毛笠 佳典
(72)【発明者】
【氏名】村田 剛彦
【審査官】川口 真一
(56)【参考文献】
【文献】特開2013-136123(JP,A)
【文献】特開平02-041881(JP,A)
【文献】特開2014-231137(JP,A)
【文献】特開2009-279677(JP,A)
【文献】特開2010-240782(JP,A)
【文献】特開2006-190228(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/22
B25J 19/06
G05B 19/42
(57)【特許請求の範囲】
【請求項1】
アーム部の先端にエンドエフェクタが設けられたロボットアームと教示器の操作に応じて前記ロボットアームの動作を制御し且つ教示点を設定するロボット制御器とを備えるロボットの教示方法であって、
ワークが、開口を有する内部空間を備え、且つ前記内部空間に前記エンドエフェクタの作業対象が存在しており、
前記教示方法は、前記教示器をジョグ送り又はインチング操作することによって、前記ロボットアームをジョグ送り動作又はインチング動作させ、且つ前記ロボット制御器によって、前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する教示工程を含
み、
前記教示方法は、前記アーム部と前記開口とが干渉する可能性があると判定された場合に、前記ロボット制御器が前記ロボットアームの動作を制御することによって前記アーム部と前記開口との干渉を回避し、又は、前記ロボット制御器が警告器を制御することによって警告を発する工程をさらに含み、
前記教示方法は、前記教示器をジョグ送り又はインチング操作することによって、前記エンドエフェクタを前記ワークの開口を定義する定義点に位置させる工程(b1)と、前記教示器を定義点設定操作することによって、前記ロボット制御器が前記定義点の位置と定義順とを互いに対応させて設定する工程(b2)と、を繰り返す工程(b)、をさらに含み、
前記開口が、前記工程(b)において繰り返し設定された複数の前記定義点を定義順に直線で結ぶようにして特定されたものである、ロボットの教示方法。
【請求項2】
前記教示方法は、前記教示工程として、
前記教示器をジョグ送り又はインチング操作することによって、前記ロボットアームが、前記エンドエフェクタを前記開口から前記ワークの
前記内部空間に進入させた後、ジョグ送り動作又はインチング動作を行いながら、前記内部空間において前記エンドエフェクタによって前記作業対象に対する作業を行うように前記ロボットアームを動作させる工程(a)を含み、
前記工程(a)は、
前記教示器を教示点設定操作することによって、前記工程(a)における前記ロボットアームの動作を実現する複数の教示点を設定する工程(a1)と、
前記ロボット制御器によって、前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する工程(a2)と、を含む、請求項1に記載のロボットの教示方法。
【請求項3】
前記ワークの
前記内部空間が複数の開口を有し、
前記教示方法は、
前記工程(a)の前に、前記教示器を選択操作することによって、前記ワークの前記複数の開口のいずれかを選択する工程(c)を更に含み、
選択された
前記開口について、前記工程(a)、又は前記工程(a)及び(b)、又は前記工程(a)-(c)を行う、請求項
2に記載のロボットの教示方法。
【請求項4】
前記ワークが組立途中の自動車の車体であり、前記開口が前記車体のドアの窓である、請求項1乃至
3のいずれかに記載のロボットの教示方法。
【請求項5】
教示器と、
アーム部の先端にエンドエフェクタが設けられたロボットアーム、及び前記教示器の操作に応じて前記ロボットアームの動作を制御し且つ教示点を設定するロボット制御器を備えるロボットと、を備え、
ワークが、開口を有する内部空間を備え、且つ前記内部空間に前記エンドエフェクタの作業対象が存在しており、
前記ロボット制御器は、
前記教示器に対するジョグ送り又はインチング操作に応じて、前記ロボットアームをジョグ送り動作又はインチング動作させ、且つ前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する教示工程を行
い、
前記アーム部と前記開口とが干渉する可能性があると判定された場合に、前記ロボット制御器が前記ロボットアームの動作を制御することによって前記アーム部と前記開口との干渉を回避し、又は、前記ロボット制御器が警告器を制御することによって警告を発し、
前記ロボット制御器は、前記教示器をジョグ送り又はインチング操作することによって、前記エンドエフェクタを前記ワークの開口を定義する定義点に位置させる工程(b1)と、前記教示器を定義点設定操作することによって、前記ロボット制御器が前記定義点の位置と定義順とを互いに対応させて設定する工程(b2)と、を繰り返す工程(b)、をさらに行い、
前記開口が、前記工程(b)において繰り返し設定された複数の前記定義点を定義順に直線で結ぶようにして特定されたものである、ロボットの教示システム。
【請求項6】
前記ロボット制御器は、前記教示工程として、
前記教示器に対するジョグ送り又はインチング操作に応じて、前記ロボットアームが、前記エンドエフェクタを前記開口から前記ワークの
前記内部空間に進入させた後、ジョグ送り動作又はインチング動作を行いながら、前記内部空間において前記エンドエフェクタによって前記作業対象に対する作業を行うように前記ロボットアームの動作を制御する工程(a)行い、
前記工程(a)は、
前記教示器に対する教示点設定操作に応じて、前記工程(a)における前記ロボットアームの動作を実現する複数の教示点を設定する工程(a1)と、
前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する工程(a2)と、を含む、請求項
5に記載のロボットの教示システム。
【請求項7】
前記ワークの
前記内部空間が複数の開口を有し、
前記ロボット制御器は、
前記工程(a)の前に、前記教示器に対する選択操作に応じて、前記ワークの前記複数の開口のいずれかを選択する工程(c)を更に行い、
選択された
前記開口について、前記工程(a)、又は前記工程(a)及び(b)、又は前記工程(a)-(c)を行う、請求項
6に記載のロボットの教示システム。
【請求項8】
前記ワークが組立途中の自動車の車体であり、前記開口が前記車体のドアの窓である、請求項
5乃至
7のいずれかに記載のロボットの教示システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの教示方法及びロボットの教示システムに関する。
【背景技術】
【0002】
従来からロボットの教示方法として、オフラインでキャドデータに基づいて、ロボットの教示データを自動で生成することが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上記のようにオフラインで自動生成された教示データ(以下、オフライン自動生成教示データという)には、以下のような問題があった。
【0005】
ロボットの作業対象である製品には、部品の製造誤差、組立誤差等があり、オフライン自動生成教示データをそのまま使用すると、作業に支障を来す可能性があった。また、オフライン自動生成教示データは、実際の作業に適しておらず、ロボットの作業効率が悪くなる場合があった。従って、実際にロボットを使用する作業現場では、オフライン自動生成データをそのままでは使用できず、それを、実際の作業に適合するよう調整することが行われていた。
【0006】
とろこで、このオフライン自動生成教示データを調整するための教示を、ティーチペンダント等の教示器でロボットアームを操作して行う場合、以下のような問題があった。
【0007】
半完成状態の製品に対してロボットで作業を行う場合、開口を有する内部空間にロボットアームを進入させて、先端のエンドエフェクタで内部の作業を行う場合がある。そのような内部の作業を教示する場合、エンドエフェクタの位置に応じて、ロボットアームの姿勢が変化するため、ロボットアームが開口に干渉しないか、注意を払うことが必要であった。
【0008】
本発明はこのような課題を解決するためになされたもので、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がないロボットの教示方法及びロボットの教示システムを提供することを目的としている。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明のある形態(aspect)に係るロボットの教示方法は、アーム部の先端にエンドエフェクタが設けられたロボットアームと教示器の操作に応じて前記ロボットアームの動作を制御し且つ教示点を設定するロボット制御器とを備えるロボットの教示方法であって、ワークが、開口を有する内部空間を備え、且つ前記内部空間に前記エンドエフェクタの作業対象が存在しており、前記教示方法は、前記教示器をジョグ送り又はインチング操作することによって、前記ロボットアームをジョグ送り動作又はインチング動作させ、且つ前記ロボット制御器によって、前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定することを含む。ここで、「ジョグ送り」とは、教示器の操作部を入力操作(操作部が押しボタンである場合、押す操作)している間、ロボットアームが動作する動作を意味する。「インチング」とは、教示器の操作部を1回入力操作すると、所定の動作量(所定距離)だけ、ロボットアームが動作する動作を意味する。
【0010】
この構成によれば、ロボット制御器によって、ロボットアームのジョグ送り動作又はインチング動作においてアーム部と開口とが干渉する可能性があるか否かを判定するので、教示器を操作してロボットを教示する際に、ロボットアームと開口との干渉に注意を払う必要がない。
【0011】
また、前記教示方法は、前記教示器をジョグ送り又はインチング操作することによって、前記ロボットアームが、前記エンドエフェクタを前記開口から前記ワークの内部空間に進入させた後、ジョグ送り動作又はインチング動作を行いながら、前記内部空間において前記エンドエフェクタによって前記作業対象に対する作業を行うように前記ロボットアームを動作させる工程(a)を含み、前記工程(a)は、前記教示器を教示点設定操作することによって、前記工程(a)における前記ロボットアームの動作を実現する複数の教示点を設定する工程(a1)と、前記ロボット制御器によって、前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する工程(a2)と、を含んでもよい。
【0012】
この構成によれば、ロボットアームが、エンドエフェクタを開口からワークの内部空間に進入させた後、ジョグ送り動作又はインチング動作を行いながら、内部空間においてエンドエフェクタによって作業対象に対する作業を行うようにロボットアームを動作させる工程(a)において、アーム部と開口とが干渉する可能性があるか否かを判定するので、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がない。
【0013】
前記教示方法は、前記アーム部と前記開口とが干渉する可能性があると判定された場合に、前記ロボット制御器が前記ロボットアームの動作を制御することによって前記アーム部と前記開口との干渉を回避し、又は、前記ロボット制御器が警告器を制御することによって警告を発することを含んでもよい。
【0014】
この構成によれば、アーム部と開口とが干渉する可能性があると判定された場合に、アーム部と開口との干渉を回避し、又は、警告を発するので、アーム部と開口との干渉を好適に回避することができる。
【0015】
前記教示方法は、前記教示器をジョグ送り又はインチング操作することによって、前記エンドエフェクタを前記ワークの開口を定義する定義点に位置させる工程(b1)と、前記教示器を定義点設定操作することによって、前記ロボット制御器が前記定義点の位置と定義順とを互いに対応させて設定する工程(b2)と、を繰り返す工程(b)、をさらに含み、前記開口が、前記工程(b)において繰り返し設定された複数の定義点を定義順に直線で結ぶようにして特定されたものであってもよい。
【0016】
この構成によれば、作業現場において、教示器でロボットアームを操作することによって、簡便に開口を定義することができる。
【0017】
前記ワークの内部空間が複数の開口を有し、前記教示方法は、前記工程(a)の前に、前記教示器を選択操作することによって、前記ワークの前記複数の開口のいずれかを選択する工程(c)を更に含み、選択された開口について、前記工程(a)、又は前記工程(a)及び(b)、又は前記工程(a)-(c)を行ってもよい。
【0018】
この構成によれば、ワークの内部空間が複数の開口を有する場合に、開口を選択して、開口を有する内部空間の内部の作業を教示することができる。
【0019】
前記ワークが組立途中の自動車の車体であり、前記開口が前記車体のドアの窓であってもよい。
【0020】
この構成によれば、ロボットを用いて、自動車の車体の窓越しに車体内部の作業を、ロボットアームと開口との干渉に注意を払わずに行うことができる。
【0021】
また、本発明の他の形態(aspect)に係るロボットの教示システムによれば、教示器と、アーム部の先端にエンドエフェクタが設けられたロボットアーム、及び前記教示器の操作に応じて前記ロボットアームの動作を制御し且つ教示点を設定するロボット制御器を備えるロボットと、を備え、ワークが、開口を有する内部空間を備え、且つ前記内部空間に前記エンドエフェクタの作業対象が存在しており、前記ロボット制御器は、前記教示器に対するジョグ送り又はインチング操作に応じて、前記ロボットアームをジョグ送り動作又はインチング動作させ、且つ前記ロボットアームのジョグ送り動作又はインチング動作において前記アーム部と前記開口とが干渉する可能性があるか否かを判定する。
【0022】
この構成によれば、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がない。
【発明の効果】
【0023】
本発明は、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がないロボットの教示方法及びロボットの教示システムを提供することができるという効果を奏する。
【図面の簡単な説明】
【0024】
【
図1】
図1は、本発明の実施形態に係るロボットの教示システムの構成を示す模式図である。
【
図2】
図2は、
図1のロボットの教示システムの制御系統の構成を示す機能ブロック図である。
【
図3】
図3は、ワークの開口越し行うワークの内部の作業をロボットに教示する様子を示す斜視図である。
【
図4】
図4は、ワークの開口を定義する定義点を示す模式図である。
【
図5】
図5は、ロボットアームのアーム部のリンクのモデリングを示す模式図である。
【
図6】
図6は、ロボットアームのアーム部のリンクモデルを示す模式図である。
【
図7】
図7は、ロボット制御器の教示制御を示すフローチャートである。
【
図8】
図8は、ロボット制御器のワークの開口定義制御を示すフローチャートである。
【発明を実施するための形態】
【0025】
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。なお、以下では全ての図面を通じて同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。また、添付図面は、本発明を説明するための図である。それ故、本発明に無関係な要素が省略される場合、誇張のため寸法が正確でない場合、簡略化される場合、複数の図面において同一の要素の形状が互いに一致しない場合等がある。また、本発明は、以下の実施形態に限定されない。
【0026】
(実施形態)
[ハードウェア上の構成]
図1は、本発明の実施形態に係るロボットの教示システムの構成を示す模式図である。
【0027】
図1を参照すると、本実施形態のロボットの教示システム100は、ロボットアーム1及びロボット制御器2を備えるロボット10と、教示器3と、警告器6と、を備える。
【0028】
<ロボットアーム>
ロボットアーム1は、基台15と、基台15に支持されたアーム部13と、アーム部13の先端部を構成する手首部14装着されたエンドエフェクタ17とを備えている。基台15は、基台移動機構15aを備えており、この基台移動機構15aによって、後述するように走行路31(
図3参照)を移動可能に構成されている。本発明においては、このように、ロボットアーム1がエンドエフェクタ17と基台移動機構15aを含むものと定義する。
【0029】
ロボットアーム1は、
図1に示すように3以上の複数の関節JT1~JT6を有する多関節ロボットアームであって、複数のリンク11a~11fが順次連結されて構成されている。より詳しくは、第1関節JT1では、基台15と、第1リンク11aの基端部とが、鉛直方向に延びる軸回りに回転可能に連結されている。第2関節JT2では、第1リンク11aの先端部と、第2リンク11bの基端部とが、水平方向に延びる軸回りに回転可能に連結されている。第3関節JT3では、第2リンク11bの先端部と、第3リンク11cの基端部とが、水平方向に延びる軸回りに回転可能に連結されている。第4関節JT4では、第3リンク11cの先端部と、第4リンク11dの基端部とが、第4リンク11cの長手方向に延びる軸回りに回転可能に連結されている。第5関節JT5では、第4リンク11dの先端部と、第5リンク11eの基端部とが、リンク11dの長手方向と直交する軸回りに回転可能に連結されている。第6関節JT6では、第5リンク11eの先端部と第6リンク11fの基端部とが、ねじり回転可能に連結されている。そして、第6リンク11fの先端部にはメカニカルインターフェースが設けられている。このメカニカルインターフェースに、ロボットアーム1の作業内容に対応したエンドエフェクタ17が着脱可能に装着される。エンドエフェクタ17として、塗装ガン、溶接ガン、ナットランナ等が例示される。
【0030】
ここでは、ロボットアーム1は、6軸の多関節ロボットアームで構成されており、基台移動機構15aがロボットアーム1の冗長軸としての7軸を構成している。
【0031】
<ロボット制御器>
ロボット制御器2は、ロボットアーム1の動作を制御する。ロボット制御器2は、ロボット10が設置される作業環境の適所に設置される。なお、制御器2は、ロボットアーム1の基台15の内部に設けられてもよい。
【0032】
<教示器>
教示器3は、ロボット10を教示する装置である。教示器3の操作に応じて、ロボット制御器2の制御により、ロボットアーム1が動作し、教示点が設定され、又は、後述する開口の定義点が設定される。
【0033】
<警告器>
警告器6は、操作者に警告を行う。警告器6として、ブザー、パトライト(登録商標)、スピーカ等が、例示される、ここでは、警告器6として、ブザーが用いられる。
【0034】
[制御系統の構成]
図2は、
図1のロボットの教示システム100の制御系統の構成を示す機能ブロック図である。
【0035】
図2を参照すると、教示器3に操作部(図示せず)が設けられており、操作部として、開始操作部、終了操作部、モード切替操作部、ジョグ送り操作部、インチング操作部、開口選択操作部、教示点設定操作部、及び定義点設定操作部が設けられている。
開始操作部、終了操作部、モード切替操作部、ジョグ送り操作部、インチング操作部、開口選択操作部、教示点設定操作部、及び定義点設定操作部を操作者が操作すると、それぞれ、開始指令、終了指令、モード切替指令、ジョグ送り指令、インチング指令、開口選択指令、教示点設定指令、及び定義点設定指令が、操作信号としてロボット制御器2の制御部4に出力される。これらの操作部は、ハードウェアとして設けられてもよく、表示部に操作領域として表示されてもよい。モード切替操作部は、ティーチモードと、開口定義モードと、リピートモードと、を切り替えることができる。「ジョグ送り」とは、操作部を入力操作(操作部が押しボタンである場合、押す操作)している間、ロボットアーム1が動作する動作を意味する。「インチング」とは、操作部を1回入力操作すると、所定の動作量(所定距離)だけ、ロボットアーム1が動作する動作を意味する。開口選択操作部は、操作者が開口を選択できるように構成されている。操作者は、開口を選択して開口選択部を操作する。
【0036】
また、エンドエフェクタ17、ワーク21(
図3参照)、開口22(
図3参照)、及び作業対象の「位置」とは、ロボット10のベース座標系における位置を意味する。
【0037】
教示器3は、例えば、ティーチペンダント、携帯情報端末、パーソナルコンピュータ等の情報処理器で構成される。携帯情報端末として、例えば、タブレット、スマートフォン、携帯電話等が例示される。教示器3とロボット制御器2との間の通信接続は、有線でも無線でも構わない。
【0038】
ロボット制御器2は、制御部4と記憶部5とを備える。ロボット制御器2は、プロセッサとメモリとを含む演算器で構成される。演算器として、FPGA(field-programmable gate array)、マイクロコントローラ、PLC(programmable logic controller)、マイクロプロセッサ等が例示される。ここでは、ロボット制御器2は、例えば、FPGAで構成され、制御部4がFPGAのCPUで構成され、記憶部5が、FPGAのメモリで構成される。
【0039】
記憶部5には、生成された動作プログラム5a及び開口定義データ5bが格納される。生成された動作プログラム5aは、ロボットの教示システム100の教示制御によって生成されたロボット10の動作プログラムである。開口定義データ5bは、後述する開口22の定義点設定制御によって生成されたデータである。なお、記憶部5には、予め、ワーク21の複数の開口のデータ(図示せず)が格納されている。
【0040】
制御部4は、記憶部5に格納された所定の制御プログラムを読み出して実行し、ロボットアーム1に制御信号を出力する。制御部4が、制御信号として、アーム部制御信号を出力すると、アーム部の各関節がアーム部制御信号に応じて回動する。制御部4が、制御信号として、エンドエフェクタ制御信号を出力すると、エンドエフェクタ17がエンドエフェクタ制御信号に応じて動作する。制御部4が、制御信号として、基台移動機構制御信号を出力すると、基台移動機構15aが基台移動機構制御信号に応じて移動する。これらの制御は、フィードフォワード制御及びフィードバック制御のいずれでもよい。ここでは、フィードバック制御が行われる。
【0041】
制御部4は、教示器3から、モード切替指令が入力されると、モード切替指令に応じて、ロボット10の動作モードを、ティーチモードと、開口定義モードと、リピートモードとの間で切り替える。
【0042】
制御部4は、ティーチモードへのモード切替指令が入力されると、ロボット10をティーチモードに切り替える。このティーチモードにおいて、制御部4は、開口選択指令が入力されると、記憶部5に格納された複数の開口定義データ5bに対応する開口のうちから開口選択指令に対応する開口を選択する。そして、制御部4は、ジョグ送り指令が入力されると、ロボットアーム1をジョグ送り動作させ、インチング指令が入力されると、ロボットアーム1をインチング動作させる。制御部4は、その際に、ロボットアーム1のアーム部13と選択された開口22との干渉の可能性の有無をチェックする。そして、教示点設定指令が入力されると、教示点の設定を行うとともに設定された教示点に基づいてロボット10の動作プログラム5aを生成する。そして、この生成された動作プログラム5aを記憶部5に格納する。
【0043】
制御部4は、開口定義モードへのモード切替指令が入力されると、ロボット10を開口定義モードに切り替える。開口定義モードにおいて、開口選択指令が入力されると、制御部4は、記憶部5のワーク21の複数の開口のデータから、開口選択指令で選択された開口22を選択する。制御部4は、ジョグ送り指令又はインチング指令が入力されると、ロボットアーム1をジョグ送り動作又はインチング動作させる。そして、制御部4は、定義点設定指令が入力されると、開口22の定義点の設定を行う。制御部4は、全ての定義点が設定されると、設定された定義点を選択された開口22(及びワーク21)と対応させて、記憶部5に格納する。
【0044】
制御部4は、リピートモードへのモード切替指令が入力されると、記憶部5から、生成された動作プログラム5aを読み出して実行し、生成された動作運転プログラム5aに従ってロボット10を動作させる。
【0045】
制御部4は、ロボットアーム1のアーム部13と選択された開口22との干渉の可能性が有ると判定すると、警告器6に警告を発せさせる。ここでは、制御部4は、警告器6としてのブザーを鳴らす。
【0046】
<作業環境>
図3は、ワークの開口越しに行うワークの内部の作業をロボット10に教示する様子を示す斜視図である。
【0047】
図1及び
図3を参照すると、ロボット10は、ワーク21の開口22からロボットアーム1をワーク21の内部に進入させて、エンドエフェクタ17によって、ワーク21の内部の作業を行う動作を教示される。ロボット10のロボットアーム1の基台15は、作業現場に設けられた走行路31上に設置されている。
【0048】
具体的には、基台15は、走行路31の延在方向に延びる直線状のガイド(図示せず)に摺動自在に嵌合しており、基台移動機構15aによって、走行路31上を、矢印で示すように、走行路31の延在方向に移動する。
【0049】
走行路31の延在方向は、ワーク21の組み立てラインにおけるワークの搬送方向に平行である。
【0050】
ワーク21は、製造される過程で開口22を有する内部空間が形成されるものであればよい。ここでは、ワーク21が組立途中の自動車の車体であり、ワーク21の内部空間が車体の内部空間であり、内部空間の開口22が、車体の左右のドアの2つの窓、車体のフロント部の窓、車体のリア部の窓、及び車体の後側のサイド部の窓である。開口22は、合計8つである。
【0051】
ロボット10は、ここでは、ロボットアーム1の先端部にエンドエフェクタ17として、塗装ガンを備えていて、ワーク21としての車体の室内のシーリングを行う。
【0052】
[開口定義データ]
図4は、ワークの開口を定義する定義点の一例を示す模式図である。
図4を参照すると、車体であるワーク21の窓である開口22を定義する5つの定義点P1~P5が例示されている。
【0053】
ワーク21の開口22は、複数の定義点P1~P5の位置と、これらの複数の定義点P1~P5の定義順と、これらの複数の定義点P1~P5定義順に結ぶ複数の直線とによって、定義される。ここでは、定義点P1~P5の定義順は、定義点P1が一番目、定義点P2が2番目、定義点P3が3番目、定義点P4が4番目、定義点P5が5番目である。これらの複数の定義点P1~P5を定義順に複数(ここでは5つ)の直線に結ぶことによって、2次元又は3次元の多角形が形成され、この多角形によって、開口22の形状及び位置が定義される(特定される)。
【0054】
この複数の定義点P1~P5の位置及び定義順が、それぞれ、互いに対応させられる(関係付けられる)とともにワーク21及び開口22と対応させられて(関係付けられて)、開口定義データ5bとして、記憶部5に格納される。
【0055】
[干渉チェック]
次に、制御部4が行う干渉チェックを説明する。
図5は、ロボットアームのアーム部のリンクのモデリングを示す模式図である。
図6は、ロボットアームのアーム部のリンクモデルを示す模式図である。
【0056】
ロボットアーム1のアーム部13と開口22とが干渉する可能性があるか否かの判定(以下、干渉チェックという)方法として、周知のものを用いることができる。本実施形態では、以下のようにして、ロボットアーム1のアーム部13と開口22との干渉チェックが行われる。
【0057】
図5を参照すると、本実施形態では、ロボットアーム1のリンクモデルが用いられる。このリンクモデルは、ロボットアーム1のアーム部13の形状を、(a)カプセル形状の厚みを表す半径R、(b)始点の座標(X1,Y1,Z1)、(c)終点の座標(X2,Y2,Z2)、(d)どの軸(第1乃至第6関節JT1~JT6)と同期して動作するかを示す同期軸パラメータで指定する。ここで、カプセル形状とは、
図5に示すように、半径Rの円柱部と、この円柱部の両端に形成された半径Rの半球部とを有する形状を意味する。このカプセル形状のリンクモデルにおいては始点(X1,Y1,Z1)と終点(X2,Y2,Z2)と結ぶ直線がリンクモデルを代表する「線分」を表し、半径Rがリンクモデルの「厚み」を表している。
【0058】
ここで、指定する始点及び終点の座標はロボットアーム1のアーム部13の基準姿勢(全軸(全関節の軸角度)が0°)における各リンクでの位置座標である。
【0059】
ロボットアーム1のアーム部13のリンクモデルは、
図6に示すようなものとなる。
図6において、参照符号41がリンクモデルを示す。
【0060】
ロボットアーム1のアーム部13と開口22との干渉チェックは、開口22の形状を表す線分(定義点同士を結ぶ直線)とカプセル形状のリンクモデルの線分との最短距離を計算し、この最短距離がリンクモデルの厚みR以下であるか否かを判定することによって行われる。この場合、リンクモデルは、ロボットアーム1のアーム部13の各軸の角度によって、空間上の位置が変化する。そこで、リンクモデルの各軸角度には、「仮想指令値」と呼ぶ角度が用いられる。「仮想指令値」は、動作中のアーム部13が一定時間後に移動する位置の各軸角度である。この一定時間は、アーム部13が停止するのに必要な時間を元に決定される。この「仮想指令値」を用いて干渉チェックを行うことにより、実際の干渉が発生するよりも前に干渉を検知し、実際に干渉が発生することを未然に防ぐことができる。
【0061】
[動作]
以上のように構成されたロボットの教示システム100の動作を
図3、
図4、
図7及び
図8を用いて説明する。ロボットの教示システム100の動作は、ロボット制御器2の制御部4がロボット10を制御することにより実現される。
【0062】
<教示制御>
図7は、ロボット制御器2の教示制御を示すフローチャートである。
【0063】
図2、
図3、
図4及び
図7を参照すると、操作者は、まず、教示器3のモード切替操作部を操作して、ロボット10をティーチモードに切り替える。そして、操作者が教示器3の開始操作部を操作すると、この教示制御がスタートする。
【0064】
まず、制御部4は、開口22が選択されることを待機する(ステップS1でNO、ステップS1)。具体的には、制御部4は、教示器3から開口選択指令が入力されるのを待機する。
【0065】
操作者が教示器3で開口選択操作部を操作すると、制御部4は、記憶部5から選択された開口22の定義点設定データを読み出し、複数の定義点P1~P5を直線で結ぶことによって、選択された開口22の形状及び位置を取得する(ステップS2)。
【0066】
次いで、制御部4は、ジョグ送り又はインチング操作がなされることを待機する(ステップS3でNO、ステップS3)。具体的には、制御部4は、教示器3からジョグ送り指令又はインチング指令が入力されるのを待機する。
【0067】
操作者が教示器3のジョグ送り操作部又はインチング操作部を操作すると、制御部4は、入力されたジョグ送り指令又はインチング指令に対応するロボットアーム1の位置を算出して、予測位置とする。
【0068】
次に、制御部4は、ロボットアーム1の予測位置と選択された開口22の形状及び位置とに基づいて、両者が干渉する可能性があるか否か判定する(ステップS5)。制御部4は、上述の干渉チェックにより、ロボットアーム1のアーム部13と開口22との干渉の可能性を判定する。
【0069】
制御部4は、両者が干渉すると判定すると(ステップS5でYES)、回避動作及び警告を行う(ステップS6)。具体的には、制御部4は、まず、警告器6に警告を発せさせる。また、制御部4は、回避動作として、ロボットアーム1の基台15の基台移動機構15aを制御して、アーム部13が開口22から離れるような姿勢を取るように、基台15を移動させる。又は、制御部4は、ロボットアーム1を停止させるか、ロボットアーム1の動作速度を遅くする。
【0070】
次に、制御部4は、ジョグ送り又はインチング操作がなされることを待機する(ステップS7でNO、ステップS7)。
【0071】
操作者が教示器3のジョグ送り操作部又はインチング操作部を操作すると、制御部4は、警告器6による警告を解除し(ステップS8)、ステップS4に制御を戻す。
【0072】
一方、制御部4は、ステップS5で両者が干渉しないと判定すると(ステップS5でNO)、ロボットアーム1を予測した位置まで動作させる(ステップS9)。
次に、制御部4は、教示点設定操作がなされたか否か判定する(ステップS10)。具体的には、制御部4は、教示器3から教示点設定指令が入力されたか否か判定する。
制御部4は、教示点設定指令が所定時間内に入力されないと(ステップS10でNO)、ステップS12に制御を進める。
【0073】
一方、制御部4は、教示点設定指令が所定時間内に入力されると(ステップS10でYES)、ロボットアーム1のエンドエフェクタの位置を教示点として設定する(ステップS11)。
【0074】
次いで、制御部4は、教示器3から、終了指令が入力された否か判定する(ステップS12)。具体的には。制御部4は、教示器3から終了指令が入力された否か判定する。
【0075】
制御部4は、終了指令が入力されないと(ステップS12でNO)、ステップS3に制御を戻す。
【0076】
そして、操作者による教示器3のジョグ送り操作部又はインチング操作部への操作と教示点設定操作部への操作とに応じて、制御部4が、ステップS3乃至ステップS12を繰り返し、その間に、
図3に示すように、ロボットアーム1がワーク21の開口22からエンドエフェクタ17をワーク21の内部空間(ここでは、車体の室内)に進入させ、その後、ジョグ送り動作又はインチング動作を行いながら、この内部空間においてエンドエフェクタ17によって作業対象に対する作業の教示を行う。そして、作業対象に対する作業の教示が終了すると、操作者は、教示器3の終了操作部を操作する。
【0077】
すると、制御部4は、終了指令が入力されたと判定し(ステップS12でYES)、この教示制御を終了する。
【0078】
これにより、教示器3を操作して開口22を有する内部空間の内部の作業を教示することができる。そして、その際に、ロボットアーム1のアーム部13と開口22との干渉に注意を払う必要がない。
【0079】
<開口定義制御>
図8は、ロボット制御器のワークの開口定義制御を示すフローチャートである。
図2、
図4及び
図8を参照すると、操作者は、まず、教示器3のモード切替操作部を操作して、ロボット10を開口定義モードに切り替える。そして、操作者が教示器3の開始操作部を操作すると、この開口定義制御がスタートする。
【0080】
まず、制御部4は、開口22が選択されることを待機する(ステップS1でNO、ステップS1)。具体的には、制御部4は、教示器3から開口選択指令が入力されるのを待機する。
【0081】
操作者が教示器3で開口選択操作部を操作すると、制御部4は、記憶部5のワーク21の複数の開口のデータから選択された開口22を選択する(ステップS2)。
【0082】
次いで、制御部4は、ジョグ送り又はインチング操作がなされることを待機する(ステップS3でNO、ステップS3)。具体的には、制御部4は、教示器3からジョグ送り指令又はインチング指令が入力されるのを待機する。
【0083】
操作者が教示器3のジョグ送り操作部又はインチング操作部を操作すると、制御部4は、入力されたジョグ送り指令又はインチング指令に対応する位置にロボットアーム1のエンドエフェクタ17位置させる。
【0084】
次いで、制御部4は、定義点設定操作がなれたか否か判定する(ステップS24)。具体的には、制御部4は、教示器3から定義点設定指令が所定時間内に入力された否か判定する。
【0085】
操作者が教示器3の定義点設定操作部を操作すると、制御部4は、定義点設定操作がなれたと判定し(ステップS24でYES)、定義点の位置及び定義順を、互いに対応させるとともに開口とも対応させて設定する。
【0086】
一方、教示器3から定義点設定指令が所定時間内に入力されない場合、制御部4は、ステップS26に制御を進める(ステップS24でNO)。
【0087】
次いで、制御部4は、教示器3から終了指令が入力されたか否か判定する(ステップS26)。
【0088】
終了指令が入力されなかった場合、制御部4は、ステップS22に制御を戻す。
【0089】
そして、操作者による教示器3のジョグ送り操作部又はインチング操作部への操作に応じて、制御部4が、ステップS22~24,26を繰り返し、その間に、
図4に示すように、ロボットアーム1がエンドエフェクタ17の先端を開口22の定義点P1に位置させる。そして、操作者が教示器3の定義点設定操作部を操作すると、制御部4は、ステップS24において、定義点操作がなされたと判定し(ステップS24でYES)、定義点P1の位置と定義順(1番目)を設定する(ステップS25)。
【0090】
この後、同様に、操作者が操作し、且つその操作に応じて制御部4が動作することによって、定義点P2~P5のそれぞれの位置及び定義順が設定される。そして、操作者が、教示器3の終了操作部を操作する。
【0091】
すると、制御部4は、終了指令が入力されと判定し(ステップS26でYES)、この開口定義制御を終了する。
【0092】
これにより、開口22の複数の定義点設定が行われる。
【0093】
(その他の実施形態)
上記実施形態では、ロボット10が、基台移動機構15及び走行路31からなる冗長軸を備えているが、これを省略してもよい。
【0094】
また、上記実施形態では、作業現場において、ロボット10を用いて開口22を定義したが、別途、開口22を定義してもよい。例えば、予め、ワーク21の設計データに基づいて、開口22の形状及びワーク21の位置を特定したデータを作成し、それを、開口定義データ5bとして、記憶部5に格納しておいてもよい。
【0095】
また、上記実施形態において、リピートモードにおいても、上記干渉チェック並びに警告及び回避動作を行うようにしてもよい。
【0096】
上記説明から、当業者にとっては、多くの改良や他の実施形態が明らかである。従って、上記説明は、例示としてのみ解釈されるべきである。
【産業上の利用可能性】
【0097】
本発明のロボットの教示方法及びロボットの教示システムは、教示器を操作して開口を有する内部空間の内部の作業を教示する際に、ロボットアームと開口との干渉に注意を払う必要がないロボットの教示方法及びロボットの教示システムとして有用である。
【符号の説明】
【0098】
1 ロボットアーム
2 ロボット制御器
3 教示器
4 制御部
5 記憶部
6 警告器
10 ロボット
15 基台
15a 基台移動機構
17 エンドエフェクタ
21 ワーク
22 開口
31 走行路
100 ロボットの教示システム