(57)【要約】【課題】ロボットの稼働率を向上する。【解決手段】ロボット１０は、ワークＷの移動経路の近傍に配置されたロボット本体１１と、ロボット本体１１を制御するロボットコントローラ２０と、を有し、ロボットコントローラ２０は、移動している状態のワークＷに対して所定の作業を行うように、ロボット本体１１を制御する第１制御処理部２１と、ロボット本体１１がワークＷから所定の大きさ以上の外力を受けた場合に、所定の処理を行う第２制御処理部２２とを有する。【選択図】図１
2018187751.tif 000002
【特許請求の範囲】
【請求項１】
ワークの移動経路の近傍に配置されたロボット本体と、
前記ロボット本体を制御するロボットコントローラと、を有し、
前記ロボットコントローラは、
移動している状態の前記ワークに対して所定の作業を行うように、前記ロボット本体を制御する第１制御処理部と、
前記ロボット本体が前記ワークから所定の大きさ以上の外力を受けた場合に、所定の処理を行う第２制御処理部と、を有する
ことを特徴とするロボット。
【請求項２】
前記ロボット本体は、
複数の関節部を駆動する複数のサーボモータを有しており、
前記第２制御処理部は、
前記所定の処理として、前記ワークから受ける外力を軽減させる動作を前記ロボット本体に行わせるように前記複数のサーボモータを制御する処理を行う
ことを特徴とする請求項１に記載のロボット。
【請求項３】
前記第２制御処理部は、
前記ロボット本体が、前記ワークから受ける外力を軽減させる動作を前記移動経路に沿う方向に対して行うように、前記複数のサーボモータを制御する処理を行う
ことを特徴とする請求項２に記載のロボット。
【請求項４】
前記ロボットコントローラは、
移動している状態の１つの前記ワークに対し、前記移動経路に沿って配置された他のロボットと連携して前記所定の作業を行うように前記ロボット本体を制御する第３制御処理部を有する
ことを特徴とする請求項１乃至３のいずれか１項に記載のロボット。
【請求項５】
前記第３制御処理部は、
移動している状態の１つの前記ワークに対し、前記移動経路に沿って配置された作業可能範囲の異なる他のロボットと連携して前記所定の作業を行うように前記ロボット本体を制御する
ことを特徴とする請求項４に記載のロボット。
【請求項６】
前記第１制御処理部は、
前記所定の作業として、移動している状態の前記ワークと前記ロボット本体の端部とが一時的に接触する工程を含む作業を行うように、前記ロボット本体を制御する
ことを特徴とする請求項１乃至５のいずれか１項に記載のロボット。
【請求項７】
前記ロボット本体は、
７つの関節部を備えた７軸ロボットである
ことを特徴とする請求項１乃至６のいずれか１項に記載のロボット。
【請求項８】
前記ロボット本体は、
前記ワークに対して前記所定の作業を行うためのエンドエフェクタを有しており、
前記第２制御処理部は、
前記エンドエフェクタが前記ワークから所定の大きさ以上の外力を受けた場合に、前記所定の処理を行う
ことを特徴とする請求項１乃至７のいずれか１項に記載のロボット。
【請求項９】
ワークの移動経路の近傍に配置されたロボットの制御方法であって、
移動している状態の前記ワークに対して所定の作業を行うことと、
前記ワークから所定の大きさ以上の外力を受けた場合に、所定の処理を行うことと、
を有することを特徴とするロボットの制御方法。
【請求項１０】
ワークの製造方法であって、
前記ワークの移動経路の近傍に配置されたロボットにより、移動している状態の前記ワークに対して所定の作業を行うことと、
前記ロボットが前記ワークから所定の大きさ以上の外力を受けた場合に、所定の処理を行うことと、
を有することを特徴とするワークの製造方法。
【請求項１１】
前記ロボットは、
複数の関節部を駆動する複数のサーボモータを有しており、
前記所定の処理を行うことは、
前記ワークから受ける外力を軽減させる動作を前記ロボットに行わせるように前記複数のサーボモータを制御する処理を行うこと、を有する
ことを特徴とする請求項１０に記載のワークの製造方法。
【請求項１２】
前記所定の処理を行うことは、
前記ワークから受ける外力を軽減させる動作を前記ロボットに前記移動経路に沿う方向に対して行わせるように前記複数のサーボモータを制御する処理を行うこと、を有する
ことを特徴とする請求項１１に記載のワークの製造方法。
【請求項１３】
前記ロボットは、
前記移動経路に沿って複数配置されており、
前記所定の作業を行うことは、
移動している状態の１つの前記ワークに対し、複数の前記ロボットを連携して前記所定の作業を行うこと、を有する
ことを特徴とする請求項１０乃至１２のいずれか１項に記載のワークの製造方法。
【請求項１４】
前記複数のロボットは、
作業可能範囲の異なる複数の前記ロボットを含んでおり、
前記所定の作業を行うことは、
移動している状態の１つの前記ワークに対し、作業可能範囲の異なる複数の前記ロボットを連携して前記所定の作業を行うこと、を有する
ことを特徴とする請求項１３に記載のワークの製造方法。
【請求項１５】
前記所定の作業を行うことは、
移動している状態の前記ワークと前記ロボットの端部とが一時的に接触する工程を含む作業を行うこと、を有する
ことを特徴とする請求項１０乃至１４のいずれか１項に記載のワークの製造方法。
【請求項１６】
前記所定の作業を行うことは、
７つの関節部を備えた７軸ロボットにより、移動している状態の前記ワークに対して前記所定の作業を行うこと、を有する
ことを特徴とする請求項１０乃至１５のいずれか１項に記載のワークの製造方法。
【請求項１７】
前記ロボットは、
前記ワークに対して前記所定の作業を行うためのエンドエフェクタを有しており、
前記所定の処理を行うことは、
前記エンドエフェクタが前記ワークから所定の大きさ以上の外力を受けた場合に、前記所定の処理を行うこと、を有する
ことを特徴とする請求項１０乃至１６のいずれか１項に記載のワークの製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ロボット、ロボットの制御方法、ワークの製造方法に関する。
【背景技術】
【０００２】
特許文献１には、ワークを搬送する搬送装置と、搬送装置により搬送されているワークに対して加工を行う複数のロボットを備えた加工装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５９３９３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記加工装置においてもロボットの稼働率の向上を図ることが要望される。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、稼働率を向上することが可能なロボット、ロボットの制御方法、ワークの製造方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、ワークの移動経路の近傍に配置されたロボット本体と、前記ロボット本体を制御するロボットコントローラと、を有し、前記ロボットコントローラは、移動している状態の前記ワークに対して所定の作業を行うように、前記ロボット本体を制御する第１制御処理部と、前記ロボット本体が前記ワークから所定の大きさ以上の外力を受けた場合に、所定の処理を行う第２制御処理部と、を有するロボットが適用される。
【０００７】
また、本発明の別の観点によれば、ワークの移動経路の近傍に配置されたロボットの制御方法であって、移動している状態の前記ワークに対して所定の作業を行うことと、前記ワークから所定の大きさ以上の外力を受けた場合に、所定の処理を行うことと、を有するロボットの制御方法が適用される。
【０００８】
また、本発明の別の観点によれば、ワークの製造方法であって、前記ワークの移動経路の近傍に配置されたロボットにより、移動している状態の前記ワークに対して所定の作業を行うことと、前記ロボットが前記ワークから所定の大きさ以上の外力を受けた場合に、所定の処理を行うことと、を有するワークの製造方法が適用される。
【発明の効果】
【０００９】
本発明によれば、稼働率を向上することが可能なロボット、ロボットの制御方法、ワークの製造方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るロボットを有するロボットシステムの全体構成の一例を表す説明図である。
【図２】ロボットの構成の一例を表す説明図である。
【図３】上位コントローラ及びロボットコントローラの機能構成の一例を表すブロック図である。
【図４】ロボットコントローラが実行する制御内容の一例を表すフローチャートである。
【図５】ロボットコントローラのハードウェア構成の一例を表す説明図である。
【発明を実施するための形態】
【００１１】
以下、一実施の形態について図面を参照しつつ説明する。
【００１２】
＜１．ロボットシステムの全体構成＞
まず、図１を参照しつつ、実施形態に係るロボット１０を有するロボットシステム１の全体構成の一例について説明する。
【００１３】
図１に示すように、ロボットシステム１は、ワークＷの製造ラインＬにおいて、搬送コンベア２により搬送されるワークＷをロボット１０を用いて加工するシステムである。ロボットシステム１は、搬送コンベア２と、カメラ３と、複数のロボット１０と、上位コントローラ３０とを有する。
【００１４】
搬送コンベア２は、ワークＷを所定の移動経路に沿って搬送する。なお、図１中の矢印Ｄｗは搬送コンベア２によるワークＷの移動方向を示している。搬送コンベア２は、ロボット１０による作業位置においてもワークＷを停止させることなく移動を継続する。ワークＷは、単一又は複数の部品で構成されており、所定の作業が行われる天板部５及び底板部６を有する。ワークＷは特に限定されるものではないが、例えば車両のボディ等である。
【００１５】
複数のロボット１０は、搬送コンベア２によるワークＷの移動経路の近傍に配置される。この例では、複数のロボット１０は４台のロボットで構成されており、第１ロボット１０Ａと、第２ロボット１０Ｂと、第３ロボット１０Ｃと、第４ロボット１０Ｄとを有する。このうち第１ロボット１０Ａ及び第３ロボット１０Ｃは、第２ロボット１０Ｂ及び第４ロボット１０Ｄよりも腕部１０４，１０５等（後述の図２参照）が長くなるように構成されており、作業可能範囲が比較的大きいロボットである。これら第１ロボット１０Ａ及び第３ロボット１０Ｃは、この例ではワークＷの移動経路の下流側において搬送コンベア２の幅方向両側に対向するように配置されている。一方、第２ロボット１０Ｂ及び第４ロボット１０Ｄは、第１ロボット１０Ａ及び第３ロボット１０Ｃよりも腕部１０４，１０５等（後述の図２参照）が短くなるように構成されており、作業可能範囲が比較的小さいロボットである。これら第２ロボット１０Ｂ及び第４ロボット１０Ｄは、この例ではワークＷの移動経路の上流側において搬送コンベア２の幅方向両側に対向するように配置されている。
【００１６】
なお、ロボット１０の設置台数は４台に限定されるものではなく、１台でもよいし、４以外の複数台でもよい。また、複数のロボット１０の作業可能範囲を統一してもよい。また、ロボット１０の配置態様を上記以外としてもよい。
【００１７】
第１ロボット１０Ａ〜第４ロボット１０Ｄは、それぞれ、ロボット本体１１と、ロボット本体１１の基部に設けられたロボットコントローラ２０とを備える。ロボット本体１１は、７つの関節部を備えた７軸ロボットであり、その先端には、エンドエフェクタ１２が取り付けられている。各ロボット１０Ａ〜１０Ｄのロボットコントローラ２０は、それぞれ上位コントローラ３０と接続されている。
【００１８】
なお、ロボット１０Ａ〜１０Ｄの一部又は全部を７軸以外（例えば６軸等）のロボットとしてもよい。また、ロボットコントローラ２０をロボット本体１１と分離して配置してもよい。
【００１９】
第１ロボット１０Ａは、移動している状態のワークＷの天板部５における幅方向一方側の部分に対し、エンドエフェクタ１２をワークＷに追従するように移動させながら所定の作業を行う。第２ロボット１０Ｂは、移動している状態のワークＷの底板部６における上記幅方向一方側の部分に対し、エンドエフェクタ１２をワークＷに追従するように移動させながら上記所定の作業を行う。第３ロボット１０Ｃは、移動している状態のワークＷの天板部５における幅方向他方側の部分に対し、エンドエフェクタ１２をワークＷに追従するように移動させながら上記所定の作業を行う。第４ロボット１０Ｄは、移動している状態のワークＷの底板部６における上記幅方向他方側の部分に対し、エンドエフェクタ１２をワークＷに追従するように移動させながら上記所定の作業を行う。なお、図１中の矢印Ｄｒはエンドエフェクタ１２の移動方向を示している。
【００２０】
各ロボット１０Ａ〜１０Ｄが行う上記所定の作業は、移動している状態のワークＷとエンドエフェクタ１２とが一時的に接触する工程を含む作業である。そのような作業としては、例えば、リベット打ち、くぎ打ち、スポット溶接、ステープル留め、ボルト締め等の作業が挙げられるが、これらの作業に限定されるものではない。
【００２１】
カメラ３は、各ロボット１０Ａ〜１０Ｄが上記所定の作業をする際のワークＷの３次元位置をリアルタイムに検出するために、作業位置の上方に設置されている。カメラ３は、上位コントローラ３０に接続されており、カメラ３の検出結果は上位コントローラ３０に送信される。
【００２２】
なお、カメラ３の設置台数は１台に限定されるものではなく、２台以上としてもよい。また、ワークＷの３次元位置を検出可能であれば、カメラ以外のセンサ（例えばレーザセンサ等）を使用してもよい。これにより、ワークＷの３次元位置の検出精度をさらに高めることができる。
【００２３】
ワークＷの天板部５には、位置検出用の複数のマーク７が設けられている。この例では、３つのマーク７ａ〜７ｃが例えば天板部５の角部近傍にそれぞれ設けられている。これら３つのマーク７ａ〜７ｃは、ワークＷの所定の位置を原点Ｏとする３次元座標系（以下「ワーク座標系」という）を規定する。この例では、例えば天板部５の一の角部近傍を原点Ｏとし、互いに直交するＸ軸、Ｙ軸、Ｚ軸からなるワーク座標系が設定されている。各ワークＷでは、ワーク座標系において作業目標となる教示点の座標がそれぞれ設定されている。
【００２４】
上記３つのマーク７ａ〜７ｃは、カメラ３によりそれぞれ検出される。そして、その検出結果を受信した上記上位コントローラ３０の画像処理部３１（後述の図３参照）により、ワークＷの３次元位置及び姿勢（Ｘ軸回りの回転量θｘ、Ｙ軸回りの回転量θｙ、Ｚ軸回りの回転量θｚを含む）が測定される。上記ワーク座標系における教示点の座標は、各ロボット１０Ａ〜１０Ｄに対応するロボット座標系にそれぞれ変換され、且つ、測定されたワークＷの３次元位置及び姿勢に基づいて逐次補正される。各ロボット１０Ａ〜１０Ｄは、補正された上記教示点の座標に基づいてそれぞれ所定の作業を実行する。
【００２５】
なお、ワークＷに設けられるマーク７の数及び位置は、上記以外としてもよい。また、カメラ３の検出対象はマークに限定されるものではなく、位置検出用の基準として保証されるものであれば、例えばワークＷの凹凸形状や孔等でもよい。
【００２６】
＜２．ロボットの構成＞
次に、図２を参照しつつ、第１ロボット１０Ａの構成の一例について説明する。なお、第３ロボット１０Ｃは第１ロボット１０Ａと同等の構成であり、第２ロボット１０Ｂ及び第４ロボット１０Ｄも腕部１０４，１０５等の寸法が異なるものの第１ロボット１０Ａと基本的に同様の構成であるので、ここでは第１ロボット１０Ａの構成についてのみ説明する。
【００２７】
図２に示すように、第１ロボット１０Ａは、ロボット本体１１と、ロボットコントローラ２０とを有する。ロボット本体１１は、基台１０１と、旋回部１０２と、アーム１０３とを有する。
【００２８】
基台１０１は、第１ロボット１０Ａの設置面に対し、例えばアンカーボルト等により固定されている。設置面は、例えば製造ラインＬにおける床面であるが、床面以外（例えば天井面や側面等）に固定されてもよい。
【００２９】
旋回部１０２は、基台１０１の設置面とは反対側の先端部に、設置面に略垂直な回転軸心Ａｘ１まわりに旋回可能に支持されている。この旋回部１０２は、基台１０１との間の関節部に設けられたアクチュエータＡｃ１の駆動により、基台１０１の先端部に対し、回転軸心Ａｘ１まわりに旋回駆動される。
【００３０】
アーム１０３は、旋回部１０２の一方側の側部に旋回可能に支持されている。このアーム１０３は、下腕部１０４と、上腕部１０５と、手首部１０６と、フランジ部１０７とを備える。
【００３１】
下腕部１０４は、第１腕部１０４Ａと第２腕部１０４Ｂとを備える。第１腕部１０４Ａは、旋回部１０２の一方側の側部に、回転軸心Ａｘ１に略垂直な回転軸心Ａｘ２まわりに旋回可能に支持されている。この第１腕部１０４Ａは、旋回部１０２との間の関節部に設けられたアクチュエータＡｃ２の駆動により、旋回部１０２の一方側の側部に対し、回転軸心Ａｘ２まわりに旋回駆動される。第２腕部１０４Ｂは、第１腕部１０４Ａの先端側に、回転軸心Ａｘ２と略平行な回転軸心Ａｘ３周りに旋回可能に支持されている。この第２腕部１０４Ｂは、第１腕部１０４Ａとの間の関節部に設けられたアクチュエータＡｃ３の駆動により、第１腕部１０４Ａの先端側に対し、回転軸心Ａｘ３周りに旋回駆動される。
【００３２】
上腕部１０５は、下腕部１０４の先端側に、回転軸心Ａｘ３に略平行な回転軸心Ａｘ４まわりに旋回可能且つ回転軸心Ａｘ３に略垂直な回転軸心Ａｘ５回りに回動可能に支持されている。この上腕部１０５は、下腕部１０４との間の関節部に設けられたアクチュエータＡｃ４の駆動により、下腕部１０４の先端側に対し、回転軸心Ａｘ４まわりに旋回駆動されるとともに、アクチュエータＡｃ４との間に設けられたアクチュエータＡｃ５の駆動により、下腕部１０４の先端側に対し、回転軸心Ａｘ５まわりに回動駆動される。
【００３３】
手首部１０６は、上腕部１０５の先端側に、回転軸心Ａｘ５に略垂直な回転軸心Ａｘ６まわりに旋回可能に支持されている。この手首部１０６は、上腕部１０５との間の関節部に設けられたアクチュエータＡｃ６の駆動により、上腕部１０５の先端側に対し、回転軸心Ａｘ６まわりに旋回駆動される。
【００３４】
フランジ部１０７は、手首部１０６の先端側に、回転軸心Ａｘ６に略垂直な回転軸心Ａｘ７まわりに回動可能に支持されている。このフランジ部１０７は、手首部１０６との間の関節部に設けられたアクチュエータＡｃ７の駆動により、手首部１０６の先端側に対し、回転軸心Ａｘ７まわりに回動駆動される。
【００３５】
エンドエフェクタ１２は、フランジ部１０７の先端に取り付けられており、フランジ部１０７の回転軸心Ａｘ７まわりの回動と共に、回転軸心Ａｘ７まわりに回動する。エンドエフェクタ１２は、ワークＷの天板部５又は底板部６に接触して、天板部５又は底板部６に対し所定の作業を行うことが可能である。
【００３６】
以上の構成であるロボット本体１１は、７つのアクチュエータＡｃ１〜Ａｃ７を備えた７つの関節部を有する７軸ロボットである。具体的には、ロボット本体１１は、旋回部１０２の回転軸心Ａｘ１まわりの旋回、下腕部１０４の回転軸心Ａｘ２まわりの旋回、上腕部１０５の回転軸心Ａｘ４まわりの旋回及び回転軸心Ａｘ５まわりの回動、手首部１０６の回転軸心Ａｘ６まわりの旋回、及び、フランジ部１０７の回転軸心Ａｘ７まわりの回動による、エンドエフェクタ１２の位置及び姿勢を自在に変更可能な６軸ロボットを基本とし、下腕部１０４における第２腕部１０４Ｂの回転軸心Ａｘ３まわりの旋回により、旋回部１０２と上腕部１０５との間の距離の長短を調節する冗長自由度を追加した７軸ロボットである。なお、ロボット本体１１は、必ずしも７軸ロボットである必要はなく、例えば下腕部１０４をアクチュエータＡｃ３を有さない単一の腕部とした６軸ロボット等であってもよい。
【００３７】
各関節部を駆動するアクチュエータＡｃ１〜Ａｃ７は、サーボモータ（後述の図３参照）、減速機及びブレーキ等により構成されている。なお、サーボモータ、減速機及びブレーキ等は、必ずしも回転軸心Ａｘ１〜Ａｘ７上に配置される必要はなく、これらの回転軸心Ａｘ１〜Ａｘ７から離れた位置に配置されていてもよい。
【００３８】
なお、上記では、アーム１０３の長手方向（あるいは延材方向）に沿った回転軸心まわりの回転を「回動」と呼び、アーム１０３の長手方向（あるいは延材方向）に略垂直な回転軸心まわりの回転を「旋回」と呼んで区別している。
【００３９】
＜３．上位コントローラ及びロボットコントローラの機能構成＞
次に、図３を参照しつつ、上位コントローラ３０及びロボットコントローラ２０の機能構成の一例について説明する。
【００４０】
上位コントローラ３０は、例えばプログラマブルロジックコントローラ（ＰＬＣ）やパーソナルコンピュータ（ＰＣ）等により構成される。上位コントローラ３０は、画像処理部３１と、格納部３２と、データ補正部３３とを有する。
【００４１】
格納部３２には、第１ロボット１０Ａ〜第４ロボット１０Ｄの動作を規定する教示データ等が各ロボットごとに格納されている。前述のように、各ワークＷではワーク座標系において作業目標となる教示点の座標がそれぞれ定められており、それらが各ロボット１０Ａ〜１０Ｄに対応するロボット座標系にそれぞれ変換されて、教示データとして格納部３２に格納されている。なお、ワーク座標系からロボット座標系への変換は、ワークＷが所定の基準位置に所定の基準姿勢で静止された状態であるとして行われる。
【００４２】
画像処理部３１は、カメラ３による３つのマーク７ａ〜７ｃの検出結果に基づいて、所定の３次元測定処理を実行することにより、ワークＷの３次元位置及び姿勢を測定する。このように、カメラ３及び画像処理部３１によりワークＷの位置を検出することで、搬送コンベア２のモータ（図示省略）のエンコーダが不要となるので、搬送コンベア２の低コスト化が可能である。
【００４３】
データ補正部３３は、格納部３２から読み出した教示データを、ロボット１０Ａ〜１０Ｄごとに、画像処理部３１の測定結果に基づいて補正する。本実施形態では、移動中のワークＷに対して作業を行うので、ワークＷの位置は常に変動している。このため、データ補正部３３は比較的短い周期で教示データを逐次補正し、各ロボット１０Ａ〜１０Ｄのロボットコントローラ２０に位置指令としてそれぞれ送信する。また、移動中のワークＷの位置や姿勢は、搬送コンベア２の機械的誤差等により基準位置からの位置ずれが生じる場合があるが、当該データ補正部３３で教示データを画像処理部３１の測定結果に基づいて補正することにより、上記位置ずれの影響を低減することができる。以上の結果、ロボット本体１１は、移動するワークＷに対しエンドエフェクタ１２を追従させながら所定の作業を精度よく行うことができる。
【００４４】
第１ロボット１０Ａ〜第４ロボット１０Ｄのそれぞれのロボットコントローラ２０は、第１制御処理部２１と、第２制御処理部２２と、第３制御処理部２３とを有する。なお、図３では煩雑防止のため、第２ロボット１０Ｂ〜第４ロボット１０Ｄのロボットコントローラ２０における各制御処理部２１〜２３の図示を省略している。
【００４５】
また、第１ロボット１０Ａ〜第４ロボット１０Ｄのそれぞれのロボット本体１１は、上述した７つの関節部を駆動する７つのサーボモータ２４、すなわち、第１サーボモータ２４ａ、第２サーボモータ２４ｂ、第３サーボモータ２４ｃ、第４サーボモータ２４ｄ、第５サーボモータ２４ｅ、第６サーボモータ２４ｆ、第７サーボモータ２４ｇを有している。なお、図３では煩雑防止のため、第２ロボット１０Ｂ〜第４ロボット１０Ｄのロボット本体１１における各サーボモータ２４ａ〜２４ｇの図示を省略している。
【００４６】
ロボットコントローラ２０の第１制御処理部２１、第２制御処理部２２、第３制御処理部２３の制御内容は、第１ロボット１０Ａ〜第４ロボット１０Ｄにおいて共通している。
【００４７】
第１制御処理部２１は、上位コントローラ３０から受信した補正後の教示データ（位置指令）に基づいて、複数のサーボモータ２４ａ〜２４ｇを制御する。これにより、第１制御処理部２１は、ロボット本体１１の先端のエンドエフェクタ１２を移動している状態のワークＷに追従させて、移動中のワークＷに対して上記所定の作業を行うように、ロボット本体１１を制御する。
【００４８】
ここで、前述のように所定の作業は、移動している状態のワークＷとエンドエフェクタ１２とが一時的に接触する工程を含む作業であり、例えば、エンドエフェクタ１２がワークＷを把持することにより連結される工程を含む作業である。このため、ワークＷとエンドエフェクタ１２とが連結された結合状態において、エンドエフェクタ１２とワークＷとの間で移動経路方向に速度差が生じると、エンドエフェクタ１２がワークＷから外力を受ける。また、本実施形態のように複数のロボット１０Ａ〜１０Ｄが連携して作業を行う場合、ロボット１０Ａ〜１０Ｄのうち２台以上のロボットとワークＷとの結合状態においてロボット相互間で移動経路方向に速度差が生じると、エンドエフェクタ１２がワークＷから外力を受ける。
【００４９】
そこで、第２制御処理部２２は、エンドエフェクタ１２が受ける外力の大きさを各サーボモータ２４ａ〜２４ｇのトルク（電流値等）の変化により検出し、エンドエフェクタ１２がワークＷから所定の大きさ以上の外力を受けた場合に、ロボット１０の故障やワークＷの変形、破損等を防止するための所定の処理を行う。このように、各サーボモータ２４ａ〜２４ｇのトルク（電流値等）によりエンドエフェクタ１２が受ける外力を検出することで、ひずみセンサ等の力センサが不要となるので、ロボット１０の低コスト化が可能となる。
【００５０】
第２制御処理部２２は、上記の所定の処理として、エンドエフェクタ１２がワークＷから受ける外力を軽減させる動作（外力に倣う動作）をロボット本体１１に行わせるように、複数のサーボモータ２４ａ〜２４ｇのトルクを制御する処理（いわゆるサーボフロート）を実行する。例えば、エンドエフェクタ１２がワークＷから移動方向Ａｒに押されるように外力を受けた場合、エンドエフェクタ１２をその押圧方向に倣うように動作させる。あるいは、エンドエフェクタ１２がワークＷから移動方向Ａｒとは反対向きに引っ張られるように外力を受けた場合、エンドエフェクタ１２をその引っ張り方向に倣うように動作させる。
【００５１】
なお、上記サーボフロートは動作方向を限定せずに行われてもよいが、エンドエフェクタ１２が移動中のワークＷから受ける外力は、エンドエフェクタ１２とワークＷとの間の移動経路方向の速度差や、ロボット相互間の移動経路方向の速度差に起因する場合が多いので、主として移動経路に沿う方向の力となる。そこで、第２制御処理部２２は、上記外力を軽減させる動作を移動経路に沿う方向（移動方向Ａｒ又はその反対方向）に限定してロボット本体１１に行わせてもよい（いわゆるリニアサーボフロート）。
【００５２】
なお、第２制御処理部２２は、上記サーボフロート又はリニアサーボフロートに加えて又は代えて、例えばロボットに作業を停止させたり、アラームを出力する等の処理を行ってもよい。
【００５３】
第３制御処理部２３は、移動している状態の１つのワークＷに対し、例えばロボット１０Ａが移動経路に沿って配置された他のロボット１０Ｂ〜ロボット１０Ｄと連携して上記所定の作業を行うように、ロボット１０Ａのロボット本体１１を制御する。ロボット１０Ｂ〜１０Ｄについても同様であり、いずれのロボットコントローラ２０においても、第３制御処理部２３は、他のロボットと連携して上記所定の作業を行うように、ロボット本体１１を制御する。これにより、各ロボット１０Ａ〜１０Ｄが互いに干渉することなく、効率的に所定の作業を実行できる。
【００５４】
また、第３制御処理部２３は、移動している状態の１つのワークＷに対し、例えばロボット１０Ａが移動経路に沿って配置された作業可能範囲の異なる他のロボット１０Ｂと連携して所定の作業を行うように、ロボット１０Ａのロボット本体１１を制御する。ロボット１０Ｂ〜１０Ｄについても同様であり、いずれのロボットコントローラ２０においても、第３制御処理部２３は、作業可能範囲の異なる他のロボットと連携して上記所定の作業を行うように、ロボット本体１１を制御する。これにより、複数のロボットが相互に作業範囲を補完しながら、ワークＷの広範囲に対して作業を行うことができる。
【００５５】
なお、上述した上位コントローラ３０における画像処理部３１、データ補正部３３等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部（例えば１つの処理部）で処理されてもよく、また、更に細分化された処理部により処理されてもよい。また、上述したロボットコントローラ２０における各制御処理部２１〜２３等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の処理部（例えば１つの処理部）で処理されてもよく、また、更に細分化された処理部により処理されてもよい。さらに、上位コントローラ３０とロボットコントローラ２０の処理の分担は上記の例に限定されるものではなく、例えば画像処理部３１、データ補正部３３等による処理をロボットコントローラ２０で行ってもよいし、各制御処理部２１〜２３等における処理を上位コントローラ３０で行ってもよい。また、ロボットコントローラ２０は、各サーボモータ２４に駆動電力を給電する部分（インバータ等）のみ実際の装置により実装され、その他の機能は後述するＣＰＵ９０１（図５参照）が実行するプログラムにより実装されてもよい。また、各制御処理部２１〜２３の一部又は全部がＡＳＩＣやＦＰＧＡ、その他の電気回路等の実際の装置により実装されてもよい。
【００５６】
＜４．ロボットコントローラの制御内容＞
次に、図４を参照しつつ、ワークＷの製造時にロボットコントローラ２０が実行する制御内容の一例について説明する。ここでは、第１ロボット１０Ａにおけるロボットコントローラ２０の制御内容について説明するが、他の第２ロボット１０Ｂ、第３ロボット１０Ｃ、第４ロボット１０Ｄのロボットコントローラ２０についても同様である。
【００５７】
ステップＳ１０では、ロボットコントローラ２０は、第１制御処理部２１及び第３制御処理部２３により、第１ロボット１０Ａの複数のサーボモータ２４ａ〜２４ｇを制御し、移動している状態のワークＷに対してエンドエフェクタ１２を追従させながら、他の第２ロボット１０Ｂ〜第４ロボット１０Ｄと連携して所定の作業を実行する。
【００５８】
ステップＳ２０では、ロボットコントローラ２０は、第２制御処理部２２により、エンドエフェクタ１２が受ける外力が予め定めたしきい値以上であるか否かを判定する。エンドエフェクタ１２が受ける外力は、複数のサーボモータ２４ａ〜２４ｇのトルク（電流値）の変化を監視することにより検出できる。エンドエフェクタ１２が受ける外力がしきい値以上である場合には（Ｓ２０：ＹＥＳ）、次のステップＳ３０に移る。一方、エンドエフェクタ１２が受ける外力がしきい値未満である場合には（Ｓ２０：ＮＯ）、後述のステップＳ４０に移る。
【００５９】
ステップＳ３０では、ロボットコントローラ２０は、第２制御処理部２２により複数のサーボモータ２４ａ〜２４ｇを制御し、ロボット本体１１にエンドエフェクタ１２が受ける外力を軽減させる動作を実行させる。前述のように、この外力を軽減させる動作は方向を限定せずに行ってもよいし、一方向に限定して行ってもよい。その後、ステップＳ４０に移る。
【００６０】
ステップＳ４０では、ロボットコントローラ２０は、第１制御処理部２１によりワークＷに対する所定の作業が完了したか否かを判定する。ワークＷに対する所定の作業が完了したか否かは、例えば上位コントローラ３０からの教示データの受信（払い出し）が終了したか否か等で判定することができる。作業が完了していない場合には（Ｓ４０：ＮＯ）、上記ステップＳ１０に戻って同様の手順を繰り返す。作業が完了している場合には（Ｓ４０：ＹＥＳ）、本フローを終了する。
【００６１】
＜５．実施形態の効果＞
以上説明したように、本実施形態のロボット１０Ａ〜１０Ｄは、ワークＷの移動経路の近傍に配置されたロボット本体１１と、ロボット本体１１を制御するロボットコントローラ２０と、を有し、ロボットコントローラ２０は、移動している状態のワークＷに対して所定の作業を行うように、ロボット本体１１を制御する第１制御処理部２１と、ロボット本体１１がワークＷから所定の大きさ以上の外力を受けた場合に、所定の処理を行う第２制御処理部２２とを有する。これにより、次の効果を奏する。
【００６２】
すなわち、一般にワークＷの製造ラインにＬおいては、ワークＷの移動経路に沿って移動と停止が間欠的に行われ、ワークＷの停止位置の近傍に配置された複数のロボットにより、停止しているワークＷに対して所定の作業が行われる。この場合、例えばワークＷの種類（大きさや形状等）によっては、ワークＷが作業可能範囲外である等により稼動しないロボットが生じる可能性があり、稼働率が低下する原因となりうる。
【００６３】
本実施形態では、ロボット１０Ａ〜１０Ｄが移動中のワークＷに対して所定の作業を行う。これにより、ワークＷを停止させることなく移動経路に沿って配置された各ロボット１０Ａ〜１０Ｄにより順次作業を行うことができるので、稼動しないロボットを低減できる。したがって、稼働率を向上できる。
【００６４】
また、ロボット１０Ａ〜１０Ｄが移動中のワークＷに対して作業を行う場合、ロボット本体１１とワークＷとの間の移動経路方向の速度差等に起因してロボット本体１１がワークＷから外力を受ける場合がある。本実施形態では、この外力が所定の大きさ以上である場合に所定の処理を実行し、例えばロボット本体１１を外力に倣うように動作させたり、作業を停止したり、アラームを出力する等の処理を行うことにより、ロボット１０の故障やワークＷの変形、破損等を防止できる。したがって、信頼性を向上できる。
【００６５】
また、本実施形態では特に、ロボット本体１１は、複数の関節部を駆動する複数のサーボモータ２４ａ〜２４ｇを有しており、第２制御処理部２２は、上記所定の処理として、ワークＷから受ける外力を軽減させる動作をロボット本体１１に行わせるように複数のサーボモータ２４ａ〜２４ｇを制御する処理を行う。
【００６６】
これにより、ロボット本体１１の位置と姿勢をワークＷから受ける外力に倣うように柔軟に制御することができる。したがって、ロボット１０の故障やワークＷの変形、破損等を生じることなく、移動中のワークＷに対して所定の作業を行うことが可能となる。
【００６７】
また、本実施形態では特に、第２制御処理部２２は、ロボット本体１１が、ワークＷから受ける外力を軽減させる動作を移動経路に沿う方向に対して行うように、複数のサーボモータ２４ａ〜２４ｇを制御する処理を行う。これにより、次の効果を奏する。
【００６８】
すなわち、ロボット本体１１が移動中のワークＷから受ける外力は、ロボット本体１１とワークＷとの間の移動経路方向の速度差や、ロボット相互間の移動経路方向の速度差に起因する場合が多いので、主として移動経路に沿う方向の力となる。したがって、本実施形態によれば、ワークＷから受ける外力を軽減させる動作を一方向（移動経路に沿う方向）に対してのみ行うことにより、全方向に対して同様の処理を行う場合に比べて制御処理の負担を軽減しつつ、ロボット１０Ａ〜１０Ｄの故障やワークＷの変形、破損等を防止できる。
【００６９】
また、本実施形態では特に、ロボット１０（例えば第１ロボット１０Ａ）のロボットコントローラ２０は、移動している状態の１つのワークＷに対し、移動経路に沿って配置された他のロボット１０（例えば第２ロボット１０Ｂ〜第４ロボット１０Ｄ）と連携して上記所定の作業を行うようにロボット本体１１を制御する第３制御処理部２３を有する。これにより、次の効果を奏する。
【００７０】
すなわち、本実施形態では、移動経路に沿って配置された複数のロボット１０Ａ〜１０Ｄが連携して相互の干渉を回避しつつ、移動中の１つのワークＷに対して所定の作業を行うので、作業効率を向上できる。しかしながら、この場合には、ロボット本体１１とワークＷとの間の速度差だけでなく、ロボット相互間における移動経路方向の速度差等によっても、ロボット本体１１がワークＷから外力を受ける場合が生じうる。このように、本実施形態ではロボット本体１１がワークＷから外力を受ける可能性が高まるので、所定の処理の実行による、ロボット１０Ａ〜１０Ｄの故障やワークＷの変形、破損等の防止効果の有効性を高めることができる。
【００７１】
また、本実施形態では特に、ロボット１０（例えば第１ロボット１０Ａ）の第３制御処理部２３は、移動している状態の１つのワークＷに対し、移動経路に沿って配置された作業可能範囲の異なる他のロボット１０（例えば第２ロボット１０Ｂ）と連携して所定の作業を行うようにロボット本体１１を制御する。
【００７２】
これにより、作業可能範囲の異なる複数のロボットにより相互に作業範囲を補完しながら、ワークＷの広範囲に対して作業を行うことができる。
【００７３】
また、本実施形態では特に、第１制御処理部２１は、上記所定の作業として、移動している状態のワークＷとロボット本体１１の端部とが一時的に接触する工程を含む作業を行うように、ロボット本体１１を制御する。これにより、次の効果を奏する。
【００７４】
すなわち、ロボット本体１１が移動中のワークＷに対してこのような作業を行う場合、ワークＷとロボット本体１１の端部とが連結された結合状態においてロボット本体１１とワークＷとの間で移動経路方向に速度差が生じるとロボット本体１１がワークＷから外力を受ける。また、複数のロボット１０Ａ〜１０Ｄがこのような作業を行う場合、ロボット１０Ａ〜１０Ｄのうちの２台以上とワークＷとの結合状態においてロボット相互間で移動経路方向に速度差が生じるとロボット本体１１がワークＷから外力を受ける。このように、本実施形態ではロボット本体１１がワークＷから外力を受ける可能性が高まるので、所定の処理の実行による、ロボット１０（１０Ａ〜１０Ｄ）の故障やワークＷの変形、破損等の防止効果の有効性を高めることができる。
【００７５】
また、本実施形態では特に、ロボット本体１１は、７つの関節部を備えた７軸ロボットである。
【００７６】
これにより、６軸以下のロボットに比べてより柔軟且つ自在に姿勢を変更することが可能となり、作業可能範囲を拡大することができる。その結果、ロボットシステム１の設置スペースの小型化が可能であると共に、ワークＷに対してより広範囲に作業を行うことができる。
【００７７】
また、本実施形態では特に、ロボット本体１１は、ワークＷに対して上記所定の作業を行うためのエンドエフェクタ１２を有しており、第２制御処理部２２は、エンドエフェクタ１２がワークＷから所定の大きさ以上の外力を受けた場合に、上記所定の処理を行う。これにより、次の効果を奏する。
【００７８】
すなわち、本実施形態では、エンドエフェクタ１２として、ワークＷに対して例えばリベット打ちや釘打ち、スポット溶接、ステープル固定、ボルト締め等の、移動中のワークＷとエンドエフェクタ１２とが一時的に接触する工程を含む作業を行うためのものが用いられる。このような作業を行う場合、結合状態においてエンドエフェクタ１２とワークＷとの間で移動経路方向に速度差が生じるとエンドエフェクタ１２がワークＷから外力を受ける。また、複数のロボット１０Ａ〜１０Ｄがこのような作業を行う場合、２台以上のロボット１０のエンドエフェクタ１２とワークＷとが連結した結合状態においてロボット相互間で移動経路方向に速度差が生じるとエンドエフェクタ１２がワークＷから外力を受ける。このように、本実施形態ではエンドエフェクタ１２がワークＷから外力を受ける可能性が高まるので、上記所定の処理の実行による、ロボット１０の故障やワークＷの変形、破損等の防止効果の有効性を高めることができる。
【００７９】
＜６．コントローラのハードウェア構成例＞
次に、図５を参照しつつ、上記で説明したロボットコントローラ２０のハードウェア構成例について説明する。なお、上位コントローラ３０についても同様のハードウェア構成とすることができる。
【００８０】
図５に示すように、ロボットコントローラ２０は、例えば、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、ＡＳＩＣ又はＦＰＧＡ等の特定の用途向けに構築された専用集積回路９０７と、入力装置９１３と、出力装置９１５と、記録装置９１７と、ドライブ９１９と、接続ポート９２１と、通信装置９２３とを有する。これらの構成は、バス９０９や入出力インターフェース９１１を介し相互に信号を伝達可能に接続されている。
【００８１】
プログラムは、例えば、ＲＯＭ９０３やＲＡＭ９０５、記録装置９１７等に記録しておくことができる。記録装置９１７は例えばハードディスク等であり、前述の格納部３２等として機能する。
【００８２】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のＣＤ・ＭＯディスク・ＤＶＤ等の光ディスク、半導体メモリ等のリムーバブルな記録媒体９２５に、一時的又は非一時的（永続的）に記録しておくこともできる。このような記録媒体９２５は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体９２５に記録されたプログラムは、ドライブ９１９により読み出されて、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００８３】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等（図示せず）に記録しておくこともできる。この場合、プログラムは、ＬＡＮやインターネット等のネットワークＮＷを介し転送され、通信装置９２３がこのプログラムを受信する。そして、通信装置９２３が受信したプログラムは、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００８４】
また、プログラムは、例えば、適宜の外部接続機器９２７に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート９２１を介し転送され、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００８５】
そして、ＣＰＵ９０１が、上記記録装置９１７に記録されたプログラムに従い各種の処理を実行することにより、上記の第１制御処理部２１、第２制御処理部２２、第３制御処理部２３等による処理が実現される。この際、ＣＰＵ９０１は、例えば、上記記録装置９１７からプログラムを直接読み出して実行してもよいし、ＲＡＭ９０５に一旦ロードした上で実行してもよい。更にＣＰＵ９０１は、例えば、プログラムを通信装置９２３やドライブ９１９、接続ポート９２１を介し受信する場合、受信したプログラムを記録装置９１７に記録せずに直接実行してもよい。
【００８６】
また、ＣＰＵ９０１は、必要に応じて、例えばマウス・キーボード・マイク（図示せず）等の入力装置９１３から入力する信号や情報に基づいて各種の処理を行ってもよい。
【００８７】
そして、ＣＰＵ９０１は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置９１５から出力してもよく、さらにＣＰＵ９０１は、必要に応じてこの処理結果を通信装置９２３や接続ポート９２１を介し送信してもよく、上記記録装置９１７や記録媒体９２５に記録させてもよい。
【００８８】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００８９】
また、以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「同じ」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【００９０】
また、以上既に述べた以外にも、上記実施形態による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００９１】
１０          ロボット
１０Ａ        第１ロボット
１０Ｂ        第２ロボット
１０Ｃ        第３ロボット
１０Ｄ        第４ロボット
１１          ロボット本体
１２          エンドエフェクタ
２０          ロボットコントローラ
２１          第１制御処理部
２２          第２制御処理部
２３          第３制御処理部
２４          サーボモータ
２４ａ        第１サーボモータ
２４ｂ        第２サーボモータ
２４ｃ        第３サーボモータ
２４ｄ        第４サーボモータ
２４ｅ        第５サーボモータ
２４ｆ        第６サーボモータ
２４ｇ        第７サーボモータ
Ｗ            ワーク
【図１】
2018187751.tif 000003
【図２】
2018187751.tif 000004
【図３】
2018187751.tif 000005
【図４】
2018187751.tif 000006
【図５】
2018187751.tif 000007