(57)【要約】【課題】  位置決めロボットと作業ロボットとの協調作業の際に生じ得る位置ズレ量を検出してこのズレ量に基づいて位置決めロボット又は作業ロボットに異常が生じたか否かを診断する。【解決手段】位置決めロボット１００が保持ツール１０５により保持したワークを作業ツール２０５の目標位置に搬送して位置決めするとともに、作業ロボット２００がワークに対し所定の作業を行う際、ロボット制御装置３００が、第１のロボットアーム１１０の先端部位又はワークに設けられた慣性センサ１０６において検出される慣性力に基づいて保持ツール１０５の位置ズレ量を検出し、検出した位置ズレ量ΔＰ１を用いて位置決めロボット１００に異常が発生したか否かを検出する。【選択図】  図２
2011042022.tif 000002
【特許請求の範囲】
【請求項１】
ロボットアームと当該ロボットアームの先端部位に設けられたツールとを具備するロボットと、前記ロボットのツールの変位を検出する慣性センサと、ロボット制御装置と、を備えた自動作業システムにおけるロボットの診断方法であって、
前記ロボット制御装置は、
前記ロボットの動作を制御し、
且つ前記ロボットのツールが変位した際、前記慣性センサにおいて検出される慣性力に基づいて前記ツールの目標位置からの位置ズレ量を検出する位置ズレ量検出工程と、前記検出した位置ズレ量を用いて前記ロボットに異常が発生したか否かを判定する異常判定工程と、を遂行する、
自動作業システムにおけるロボットの診断方法。
【請求項２】
前記自動作業システムは、前記ロボットとして位置決めロボットと作業ロボットとを備えており、
前記位置決めロボットは、第１のロボットアームと当該第１のロボットアームの先端部位に設けられた保持ツールとを具備しており、
前記作業ロボットは、第２のロボットアームと当該第２のロボットアームの先端部位に設けられた作業ツールとを具備しており、
前記慣性センサは、前記第１のロボットアームの先端部位、前記第２のロボットアームの先端部位、又は前記位置決めロボットの保持ツールにより保持されるワークに設けられており、
前記位置決めロボットが前記保持ツールにより保持したワークを所定の目標位置である位置決め基準位置に搬送して位置決めするとともに、前記作業ロボットが当該作業ロボットの所定の目標位置である作業位置において前記ワークに対し所定の作業を行い、
前記ロボット制御装置は、
前記位置決めロボットの動作を制御し、
且つ前記作業ロボットが前記ワークに対し前記所定の作業を行う際、前記慣性センサにおいて検出される慣性力に基づいて前記保持ツールの位置決め基準位置からの位置ズレ量を検出する位置ズレ量検出工程と、前記検出した位置ズレ量を用いて前記位置決めロボットに異常が発生したか否かを判定する異常判定工程と、を遂行する、
請求項１に記載の自動作業システムにおけるロボットの診断方法。
【請求項３】
前記ロボット制御装置は、さらに、前記位置ズレ量検出工程において検出した位置ズレ量を記憶装置に記憶する記憶工程を遂行し、且つ前記異常判定工程として、前記検出した位置ズレ量と前記記憶装置に記憶された過去の位置ズレ量とを比較して前記位置決めロボットに異常が発生したか否かを判定する、
請求項２に記載の自動作業システムにおけるロボットの診断方法。
【請求項４】
前記自動作業システムは、複数の前記位置決めロボットを備えており、
前記ロボット制御装置は、前記複数の位置決めロボットを制御するものであり、
前記自動作業システムは、前記複数の位置決めロボットが前記保持ツールにより保持したワークを各々の所定の目標位置である位置決め基準位置に協調して搬送して位置決めするとともに、前記作業ロボットが前記ワークに対し所定の作業を行い、
前記位置ズレ検出工程として、前記ロボット制御装置が、前記位置決めロボット毎に、前記作業ロボットが前記所定の作業を行う際、前記慣性センサにおいて検出される慣性力に基づいて、前記保持ツールの位置決め基準位置からの位置ズレ量を検出し、
前記異常判定工程として、前記ロボット制御装置が、前記位置決めロボット毎に検出した位置ズレ量を相互比較して、前記複数の位置決めロボットのうち少なくともいずれかに異常が発生したか否かを判定する、
請求項２に記載の自動作業システムにおけるロボットの診断方法。
【請求項５】
前記自動作業システムは複数の前記ロボットを備え、且つ各ロボットのロボットアームの先端部位に前記慣性センサが設けられており、
前記ロボット制御装置は、
前記複数のロボットより選定した主ロボットと従ロボットとを互いの前記ツールが突き合わさるよう動作させ、
前記主ロボットの前記ツールを初期位置から指定位置に移動させたとき、前記主ロボットの前記慣性センサの検出量に基づいて前記主ロボットの前記ツールの移動量を検出するとともに、前記従ロボットの前記慣性センサの検出量に基づいて前記従ロボットの前記ツールの移動量を検出する工程と、
検出した前記主ロボットのツールの移動量及び前記従ロボットのツールの移動量に基づいて、前記主ロボットの前記慣性センサ及び前記従ロボットの前記慣性センサに異常が発生したか否かを判定するセンサ異常判定工程と、を遂行する、
請求項１に記載の自動作業システムにおけるロボットの診断方法。
【請求項６】
前記ロボットは、前記ロボットアームの各関節部に位置検出器を備え、
前記ロボット制御装置は、前記各関節部の位置検出器の検出量に基づいて前記各関節部の動作を制御することにより前記ロボットアームの動作をフィードバック制御し、
前記各関節部を単独で動作させて、前記位置検出器の検出量に応じた前記ロボットアームの各関節部毎の第１の角度と、前記慣性センサの検出量に応じた前記ロボットアームの各関節部毎の第２の角度と、を算定する角度算定工程と、
算定した前記第１の角度と前記第２の角度との間の角度差に基づいて前記ロボットアームの各関節部毎のバックラッシュ量を検出するバックラッシュ量検出工程と、
検出した前記ロボットアームの各関節部毎のバックラッシュ量とそれぞれの参照量とを比較して、検出した前記ロボットアームの各関節部毎のバックラッシュ量が正常か否かを判定するバックラッシュ量判定工程と、を遂行する、
請求項１に記載の自動作業システムにおけるロボットの診断方法。
【請求項７】
前記自動作業システムは、前記ロボットとして位置決めロボットと作業ロボットとを備えており、
前記位置決めロボットは、第１のロボットアームと当該第１のロボットアームの先端部位に設けられた保持ツールとを具備しており、
前記作業ロボットは、第２のロボットアームと当該第２のロボットアームの先端部位に設けられた作業ツールとを具備しており、
前記慣性センサは、前記第１のロボットアームの先端部位、前記第２のロボットアームの先端部位、又は前記位置決めロボットの保持ツールにより保持されるワークに設けられており、
前記位置決めロボットが前記保持ツールにより保持したワークを所定の目標位置である位置決め基準位置に搬送して位置決めするとともに、前記作業ロボットが当該作業ロボットの所定の目標位置である作業位置において前記ワークに対し所定の作業を行い、
前記ロボット制御装置は、
前記作業ロボットの動作を制御し、
且つ前記作業ロボットが前記ワークに対し前記所定の作業を行う際、前記慣性センサにおいて検出される慣性力に基づいて前記作業位置からの位置ズレ量を検出する位置ズレ量検出工程と、前記検出した位置ズレ量を用いて前記作業ロボットに異常が発生したか否かを判定する異常判定工程と、を遂行する、
請求項１に記載の自動作業システムにおけるロボットの診断方法。
【請求項８】
ロボットアームと当該ロボットアームの先端部位に設けられたツールとを具備するロボットと、前記ロボットのツールの変位を検出する慣性センサと、コンピュータと、を備えた自動作業システムにおけるロボットの診断プログラムであって、
前記コンピュータに、
前記ロボットの動作を制御させ、
且つ前記ロボットのツールが変位した際、前記慣性センサにおいて検出される慣性力に基づいて前記ツールの目標位置からの位置ズレ量を検出する位置ズレ量検出工程と、前記検出した位置ズレ量を用いて前記ロボットに異常が発生したか否かを判定する異常判定工程と、を遂行させる、
自動作業システムにおけるロボットの診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置決めロボットと作業ロボットとが協調動作することによりワークの位置決め及び作業を自動的に行う自動作業システムにおけるロボットの診断方法及び診断プログラムに関する。
【背景技術】
【０００２】
産業用ロボットは、ロボットアームの先端部位に各種作業用の保持ツールが取り付けられ、ロボットアームを構成する複数のアーム部材の各回転軸周りの回転を互いに独立して行い得るよう構成される。つまり、産業用ロボットは、複数のアーム部材の各回転軸の回転位置の制御によりロボットアームの先端部位にあるツールを所望の位置に所望の姿勢で停止させ、複数のアーム部材の各回転軸の角速度の制御によりロボットアームの先端部位にあるツールを所望の経路に沿って所望の速度で移動させることができる。
【０００３】
産業用ロボットは、溶接作業、塗装作業、バリとり作業又は磨き作業等の各種作業の自動化のために、幅広く利用されている。例えば、スポット溶接ライン工程では、多関節ロボットとスポット溶接ガンロボットとが協調動作してスポット溶接を自動的に行うスポット溶接システムが提案されている。図１１は、多関節ロボット及びスポット溶接ガンロボットそれぞれの構成を示した図である。
【０００４】
図１１に示すように、多関節ロボット８にはワーク掴みハンド（保持ツール）９が取り付けられており、ワーク掴みハンド９によってワーク（図示せず）を保持することによりハンドリング作業を行う。そして、多関節ロボット８が保持したワークの各溶接点をスポット溶接ガンロボット１２が有するスポット溶接ガン１１の溶接電極間に位置決めする。その後、電動サーボ機構によりスポット溶接ガン１１が有する一方の溶接電極を加圧させることにより、ワークに対して溶接作業を行うようにしている。従って、スポット溶接ガン１１を加圧させ、ワークに対して所望の溶接作業を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３３０２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ワークの溶接点は、多関節ロボット８による位置決め動作によって、スポット溶接ガン１１の溶接電極間に位置決めされるが、現実的にはその位置決めされた位置にズレが生じる場合がある。
【０００７】
例えば、ワークと溶接電極との当接前では、多関節ロボット８、スポット溶接ガンロボット１２それぞれの位置ズレ量に起因してワークにおける溶接点（作業位置）の位置ズレが生じ得る。尚、このような溶接点の位置ズレは、ティーチングの際の位置ズレ、位置決め制御の際の位置ズレ、各関節部のモータ軸のガタ、ロボット機差（オフラインティーチング時の各種パラメータが実機の値と相違する場合）が主な要因として想定される。
【０００８】
さらに、ワークと溶接電極との当接後では、ワークにかかる荷重及び外力（スポット溶接ガン１１の溶接電極の加圧力）に起因して、多関節ロボット８（特に減速機部、アーム部）、ワーク、スポット溶接ガンロボット１２、スポット溶接ガン１１のアーム部（特に固定電極部）それぞれにたわみが発生し、ワークにおける溶接点（作業位置）に位置ズレが生じ得る。
【０００９】
従来のスポット溶接システム等の自動作業システムでは、上記のような作業の際に生じ得るワークにおける作業位置のズレを検出する仕組みがなかった為、このワークにおける作業位置のズレを作業員が目視確認する必要があり、またこのワークにおける作業位置のズレが目視確認された場合に逐一マニュアル操作で位置補正を行っていた。従って、生産性や品質の低下等の弊害が生じるおそれがあった。
【００１０】
さらに、上記のような作業の際に生じ得る作業位置のズレ量が許容できる範囲を超える場合がある。この場合、多関節ロボット等の位置決めロボット又はスポット溶接ガンロボット等の作業ロボットのいずれか一方若しくは両方に異常が発生しているものと想定されるため、作業を継続すべきではなく、即座に停止する必要がある。
【００１１】
そこで、本発明は、自動作業システムにおいてロボット同士の協調作業の際に生じ得る位置ズレを検出するとともに、この位置ズレ量に基づいてロボットに異常が生じたか否かを診断することを目的としている。
【課題を解決するための手段】
【００１２】
本発明は上記の事情に鑑みてなされたものであり、上記の課題を解決するための主たる本発明は、ロボットアームと当該ロボットアームの先端部位に設けられたツールとを具備するロボットと、前記ロボットのツールの変位を検出する慣性センサと、ロボット制御装置と、を備えた自動作業システムにおけるロボットの診断方法であって、前記ロボット制御装置は、前記ロボットの動作を制御し、且つ前記ロボットのツールが変位した際、前記慣性センサにおいて検出される慣性力に基づいて前記ツールの目標位置からの位置ズレ量を検出する位置ズレ量検出工程と、前記検出した位置ズレ量を用いて前記ロボットに異常が発生したか否かを判定する異常判定工程と、を遂行する、自動作業システムにおけるロボットの診断方法である。
【００１３】
上記の構成により、自動作業システムにおいて位置決めロボットと作業ロボットとの協調作業の際にツールが変位する場合、このときの位置ズレ量を検出するとともに、この位置ズレ量に基づいて位置決めロボットに異常が生じたか否かを診断することができる。
【００１４】
前記自動作業システムは、前記ロボットとして位置決めロボットと作業ロボットとを備えており、前記位置決めロボットは、第１のロボットアームと当該第１のロボットアームの先端部位に設けられた保持ツールとを具備しており、前記作業ロボットは、第２のロボットアームと当該第２のロボットアームの先端部位に設けられた作業ツールとを具備しており、前記慣性センサは、前記第１のロボットアームの先端部位、前記第２のロボットアームの先端部位、又は前記位置決めロボットの保持ツールにより保持されるワークに設けられており、前記位置決めロボットが前記保持ツールにより保持したワークを所定の目標位置である位置決め基準位置に搬送して位置決めするとともに、前記作業ロボットが当該作業ロボットの所定の目標位置である作業位置において前記ワークに対し所定の作業を行い、前記ロボット制御装置は、前記位置決めロボットの動作を制御し、且つ前記作業ロボットが前記ワークに対し前記所定の作業を行う際、前記慣性センサにおいて検出される慣性力に基づいて前記保持ツールの位置決め基準位置からの位置ズレ量を検出する位置ズレ量検出工程と、前記検出した位置ズレ量を用いて前記位置決めロボットに異常が発生したか否かを判定する異常判定工程と、を遂行する、こととしてもよい。
【００１５】
上記の構成により、自動作業システムにおいて位置決めロボットと作業ロボットとの協調作業の際に生じ得るワークにおける作業位置の位置ズレ量を、第１のロボットアームの先端部位、第２のロボットアームの先端部位、又は位置決めロボットの保持ツールにより保持されるワークに設けられる慣性センサの検出量に基づいて位置決めロボットの保持ツールの位置決め基準位置からの位置ズレ量として検出するとともに、この位置ズレ量に基づいて位置決めロボットに異常が生じたか否かを診断することができる。
【００１６】
前記ロボット制御装置は、さらに、前記位置ズレ量検出工程において検出した位置ズレ量を記憶装置に記憶する記憶工程を遂行し、且つ前記異常判定工程として、前記検出した位置ズレ量と前記記憶装置に記憶された過去の位置ズレ量とを比較して前記位置決めロボットに異常が発生したか否かを判定する、こととしてもよい。
【００１７】
上記の構成により、検出した位置ズレ量の履歴を記憶装置に記憶しておくことが可能となり、位置ズレ量を検出したときにこの履歴と比較することで、位置決めロボットに異常が生じたか否かを容易に診断することができる。
【００１８】
前記自動作業システムは、複数の前記位置決めロボットを備えており、前記ロボット制御装置は、前記複数の位置決めロボットを制御するものであり、前記自動作業システムは、前記複数の位置決めロボットが前記保持ツールにより保持したワークを各々の所定の目標位置である位置決め基準位置に協調して搬送して位置決めするとともに、前記作業ロボットが前記ワークに対し所定の作業を行い、前記位置ズレ検出工程として、前記ロボット制御装置が、前記位置決めロボット毎に、前記作業ロボットが前記所定の作業を行う際、前記慣性センサにおいて検出される慣性力に基づいて、前記保持ツールの位置決め基準位置からの位置ズレ量を検出し、前記異常判定工程として、前記ロボット制御装置が、前記位置決めロボット毎に検出した位置ズレ量を相互比較して、前記複数の位置決めロボットのうち少なくともいずれかに異常が発生したか否かを判定する、こととしてもよい。
【００１９】
上記の構成により、自動作業システムにおいて複数の位置決めロボットと作業ロボットとの協調作業の際に生じ得る作業位置の位置ズレ量を検出するとともに、この位置ズレ量に基づいて複数の位置決めロボットの少なくともいずれかに異常が生じたか否かを診断することができる。また、各位置決めロボット毎の位置ズレ量が検出されるたびに、これらの各位置決めロボット毎の位置ズレ量を用いて異常判定を行うために、過去の位置ズレ量を記憶しておく記憶装置を設ける必要がなくなり、ロボット制御装置の構成を簡素化することができる。
【００２０】
前記自動作業システムは複数の前記ロボットを備え、且つ各ロボットのロボットアームの先端部位に前記慣性センサが設けられており、前記ロボット制御装置は、前記複数のロボットより選定した主ロボットと従ロボットとを互いの前記ツールが突き合わさるよう動作させ、前記主ロボットの前記ツールを初期位置から指定位置に移動させたとき、前記主ロボットの前記慣性センサの検出量に基づいて前記主ロボットの前記ツールの移動量を検出するとともに、前記従ロボットの前記慣性センサの検出量に基づいて前記従ロボットの前記ツールの移動量を検出する工程と、検出した前記主ロボットのツールの移動量及び前記従ロボットのツールの移動量に基づいて、前記主ロボットの前記慣性センサ及び前記従ロボットの前記慣性センサに異常が発生したか否かを判定するセンサ異常判定工程と、を遂行する、こととしてもよい。
【００２１】
上記の構成により、複数の位置決めロボットが協調してワークを搬送する自動作業システムの場合、各位置決めロボット毎に異常が生じたか否かの診断を行うことができる。また、位置決めロボット（主ロボット及び従ロボット）自体が正常であると仮定できる場合、所定の作業の際における作業位置のズレの検出を目的として各保持ツールに備えられた慣性センサに関し、当該慣性センサに異常が生じたか否かの診断を行うことができる。
【００２２】
前記ロボットは、前記ロボットアームの各関節部に位置検出器を備え、前記ロボット制御装置は、前記各関節部の位置検出器の検出量に基づいて前記各関節部の動作を制御することにより前記ロボットアームの動作をフィードバック制御し、前記各関節部を単独で動作させて、前記位置検出器の検出量に応じた前記ロボットアームの各関節部毎の第１の角度と、前記慣性センサの検出量に応じた前記ロボットアームの各関節部毎の第２の角度と、を算定する角度算定工程と、算定した前記第１の角度と前記第２の角度との間の角度差に基づいて前記ロボットアームの各関節部毎のバックラッシュ量を検出するバックラッシュ量検出工程と、  検出した前記ロボットアームの各関節部毎のバックラッシュ量とそれぞれの参照量とを比較して、検出した前記ロボットアームの各関節部毎のバックラッシュ量が正常か否かを判定するバックラッシュ量判定工程と、を遂行する、こととしてもよい。
【００２３】
上記の構成により、所定の作業の際における作業位置の位置ズレ量の検出を目的として設けられた慣性センサにおいて検出される慣性力を用いて、ロボットの各関節部毎のバックラッシュ量が正常か否かを診断することができる。
【００２４】
第１のロボットアームと当該第１のロボットアームの先端部位に設けられた保持ツールとを具備する位置決めロボットと、第２のロボットアームと当該第２のロボットアームの先端部位に設けられた作業ツールとを具備する作業ロボットと、前記第１のロボットアームの先端部位、前記第２のロボットアームの先端部位、又は前記位置決めロボットの保持ツールにより保持されるワークに設けられた慣性センサと、ロボット制御装置と、を有し、前記位置決めロボットが前記保持ツールにより保持したワークを所定の目標位置である位置決め基準位置に搬送して位置決めするとともに、前記作業ロボットが前記作業ロボットの所定の目標位置である作業位置において前記ワークに対し所定の作業を行う自動作業システムにおける作業ロボットの診断方法であって、前記ロボット制御装置は、前記作業ロボットの動作を制御し、且つ前記作業ロボットが前記ワークに対し前記所定の作業を行う際、前記慣性センサにおいて検出される慣性力に基づいて前記作業位置からの位置ズレ量を検出する位置ズレ量検出工程と、前記検出した位置ズレ量を用いて前記作業ロボットに異常が発生したか否かを判定する異常判定工程と、を遂行する、こととしてもよい。
【００２５】
上記の構成により、自動作業システムにおいて位置決めロボットと作業ロボットとの協調作業の際に生じ得る作業位置の位置ズレ量を検出するとともに、第１のロボットアームの先端部位、第２のロボットアームの先端部位、又は位置決めロボットの保持ツールにより保持されるワークに設けられる慣性センサの検出量に基づいて作業ロボットの作業位置からの位置ズレ量として検出するとともに、この位置ズレ量に基づいて作業ロボットに異常が生じたか否かを診断することができる。
【発明の効果】
【００２６】
本発明によれば、自動作業システムにおいてロボット同士の協調作業の際に生じ得る位置ズレを検出するとともに、このズレ量に基づいて位置決めロボット又は作業ロボットに異常が生じたか否かを診断することを目的としている。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施の形態１に係る自動作業システムの全体構成を示した図である。
【図２】本発明の実施の形態１に係るロボット制御装置のブロック構成を示した図である。
【図３】本発明の実施の形態１に係る作業位置の補正方法の流れを説明するためのフローチャートである。
【図４】本発明の実施の形態２に係るロボット制御装置のブロック構成を示した図である。
【図５】本発明の実施の形態３に係る自動作業システムの全体的な構成を示した図である。
【図６】本発明の実施の形態３に係るロボット制御装置のブロック構成を示した図である。
【図７】本発明の実施の形態４に係る位置決めロボットの配置を説明するための図である。
【図８】本発明の実施の形態５に係るロボット制御装置のブロック構成を示した図である。
【図９】本発明の実施の形態５に係るバックラッシュ量の検出方法を説明するための図である。
【図１０】本発明の実施の形態５に係るバックラッシュ量の検出方法を説明するための図である。
【図１１】スポット溶接システムにおける多関節ロボット及びスポット溶接ガンロボットそれぞれの構成を示した図である。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の好ましい実施の形態を、図面を参照しながら説明する。なお、以下では全ての図を通じて同一又は相当する要素には同一の参照符号を付して、特に言及しない場合にはその重複する説明を省略する。
【００２９】
（実施の形態１）
図１は、本発明の実施の形態１に係る自動作業システムにおけるロボットの診断方法を実施するための自動作業システムの全体構成を示した図である。図１に示す自動作業システムは、位置決めロボット（ロボット）１００と、作業ロボット（ロボット）２００と、ロボット制御装置３００と、により構成される。自動作業システムは、位置決めロボット１００が所定のワークを作業ロボット２００の所定の目標位置に応じた位置決め基準位置に搬送して位置決めするとともに、作業ロボット２００がワークに対し所定の作業を行うという一連の作業工程を自動化するシステムである。本自動作業システムの対象とする作業工程には、例えば、スポット溶接工程、塗装工程、バリとり工程、研磨工程等が含まれる。
【００３０】
位置決めロボット１００は、その基台１０１が作業スペース下側の床面に設置される所謂床置き型の垂直多関節ロボットである。基台１０１にはアーム（以下、便宜上、アーム部材と呼ぶ）１０２ａ、１０２ｂ、１０２ｃ、１０２ｄが連設されており、また、基台１０１及びアーム部材１０２ａ〜１０２ｄは関節１０３ａ、１０３ｂ、１０３ｃ等を介して相対回転可能となるように連結されている。例えば、基台１０１とアーム部材１０２ａとの連結部にあるアクチュエータ１０４ｅにより、基台１０１及びアーム部材１０２ａはそれらの軸心に直交する軸の回りに相対的に回動（旋回）させる。また、関節１０３ａは、アーム部材１０２ａとアーム部材１０２ｂとをそれらの軸心の回りに相対的に回動させ、関節１０３ｂは、アーム部材１０２ｂとアーム部材１０２ｃとをそれらの軸心の回りに相対的に回動させ、関節１０３ｃは、アーム部材１０２ｃとアーム部材１０２ｄとをそれらの軸心の回りに相対的に回動させる。以下、このように関節１０３ａ〜１０３ｃによって互いに連接されたアーム部材群１０２ａ〜１０２ｄを、ロボットアーム１１０と定義する。ここでは、関節１０３ａ〜１０３ｃによって互いに連接されたアーム部材群１０２ａ〜１０２ｄがロボットアーム１１０（第１のロボットアーム）を構成している。
【００３１】
関節１０３ａには、それを駆動するためのサーボモータ（図示せず）及びそのサーボモータの主軸に連結したエンコーダ（位置検出器）を具備したアクチュエータ１０４ａが設置される。アクチュエータ１０４ａのサーボモータが動作することで、関節１０３ａにおいて許容される回転軸周りの回転が行われる。また、アクチュエータ１０４ａのエンコーダは、自身と連結したアクチュエータ１０４ａのサーボモータの基準位置（基準角）からの回転角（以下、エンコーダ値θａという。）を検出している。このエンコーダ値θａは、関節部１０４ａの制御上の現在位置に対応している。関節１０３ａと同様に、関節１０３ｂにはサーボモータ及びエンコーダを具備したアクチュエータ１０４ｂが設置され、関節１０３ｃにはサーボモータ及びエンコーダを具備したアクチュエータ１０４ｃが設置される。
【００３２】
アーム部材１０２ｄの先端部位（ロボットアーム１１０の先端部位）には、各種作業用の保持ツール１０５が着脱可能に取り付けられる。保持ツール１０５には、例えば、搬送作業用の保持部材又は吸着部材が含まれる。尚、保持ツール１０５は、アーム部材１０２ｄの先端部位に取り付けられた場合、アーム部材１０２ｄに対して相対変位しないものとする。また、アーム１０２ｄの先端部位には慣性センサ１０６が取り付けられる。尚、アーム１０２ｄの先端部位に保持ツール１０５が常時取り付けられる場合、慣性センサ１０６を保持ツール１０５に取り付けてもよい。若しくは、慣性センサ１０６は、位置決めロボット１００の保持ツール１０５により保持されるワークに設けるようにしてもよい。
【００３３】
慣性センサ１０６は、物体（この場合、保持ツール１０５）の動きから生じる慣性力を電気信号として検出するセンサである。慣性センサ１０６には、加速度センサ、角速度センサ等が含まれる。加速度センサは、例えば、セラミックケース内部で中空状態に保持されるマスによって圧電素子に慣性力が印加されたとき、この圧電素子に発生する電荷を電気信号として取り出すというメカニズムを用いている。尚、保持ツール１０５の並進方向又は回転方向の加速度のみを検出する場合には１軸型の加速度センサを用い、保持ツール１０５の３軸（直交三次元座標系のＸ軸、Ｙ軸、Ｚ軸）方向それぞれの加速度を検出する場合には３軸型の加速度センサを用いることとする。角速度センサは、例えば、圧電素子に電圧を印加して振動させた状態でさらに回転運動に伴う角速度を加えたとき、所謂コリオリの力によって発生する圧電素子の歪みを電気信号として取り出すというメカニズムを用いている。
【００３４】
また、慣性センサ１０６に指向性があるのであれば、慣性センサ１０６において最も感度の良い方向を、位置決めロボット１００と作業ロボット２００とによる実際の協調作業に際して良くたわむ方向に設定する。
【００３５】
作業ロボット２００は、位置決めロボット１００と同様に、その基台２０１が作業スペース下側の床面に設置される所謂床置き型の垂直多関節ロボットである。基台２０１にはアーム（以下、便宜上、アーム部材と呼ぶ）２０２ａ、２０２ｂ、２０２ｃ、２０２ｄが連設されており、また、基台２０１及びアーム部材２０２ａ〜２０２ｄは関節２０３ａ、２０３ｂ、２０３ｃ等を介して相対回転可能となるよう連結している。例えば、基台２０１とアーム部材２０２ａとの連結部にあるアクチュエータ２０４ｅにより、基台２０１及びアーム部材２０２ａはそれらの軸心に直交する軸の回りに相対的に回動（旋回）させる。また、関節２０３ａは、アーム部材２０２ａとアーム部材２０２ｂとをそれらの軸心の回りに相対的に回動させ、関節２０３ｂは、アーム部材２０２ｂとアーム部材２０２ｃとをそれらの軸心の回りに相対的に回動させ、関節２０３ｃは、アーム部材２０２ｃとアーム部材２０２ｄとをそれらの軸心の回りに相対的に回動させる。このように関節２０３ａ〜２０３ｃによって互いに連接されたアーム部材群２０２ａ〜２０２ｄによってロボットアーム２１０（第２のロボットアーム）が構成されている。
【００３６】
関節２０３ａには、それを駆動するためのサーボモータ（図示せず）及びそのサーボモータの主軸に連結したエンコーダ（位置検出器）を具備したアクチュエータ２０４ａが設置される。アクチュエータ２０４ａのサーボモータが動作することで、関節２０３ａにおいて許容される回転軸周りの回転が行われる。また、アクチュエータ２０４ａのエンコーダは、自身と連結したアクチュエータ２０４ａのサーボモータの基準位置（基準角）からの回転角（以下、エンコーダ値θｂという。）を検出している。このエンコーダ値θｂは、関節部２０３ａの制御上の現在位置に対応している。関節２０３ａと同様に、関節２０３ｂにはサーボモータ及びエンコーダを具備したアクチュエータ２０４ｂが設置され、関節２０３ｃにはサーボモータ及びエンコーダを具備したアクチュエータ２０４ｃが設置される。
【００３７】
アーム部材２０２ｄの先端部位（ロボットアーム２１０の先端部位）には、各種作業用の作業ツール２０５が着脱可能に取り付けられる。作業ツール２０５には、例えば、溶接作業用のスポット溶接ガンや溶接トーチ、バリ取り・研磨作業用のバレル研磨機、ブラシ研磨機、エアーブラスト研磨機等が含まれる。尚、作業ツール２０５は、アーム部材２０２ｄの先端部位に取り付けられた場合、アーム部材２０２ｄに対して相対変位しないものとする。
【００３８】
ロボット制御装置３００は、本自動作業システムが対象とする作業工程に応じて位置決めロボット１００及び作業ロボット２００双方の動作を制御する制御装置である。具体的には、ロボット制御装置３００は、位置決めロボット１００の各アクチュエータ１０４ａ〜１０４ｃが具備するサーボモータのサーボ制御及び作業ロボット２００の各アクチュエータ２０４ａ〜２０４ｄが具備するサーボモータのサーボ制御により、位置決めロボット１００の保持ツール１０５及び作業ロボット２００の作業ツール２０５を任意の位置及び姿勢に任意の経路に沿って移動させる。さらに、ロボット制御装置３００は、位置決めロボット１００の保持ツール１０５におけるワークの保持動作、作業ロボット２００の作業ツール２０５によるワークに対する加工動作を制御する。尚、ロボット制御装置３００は、位置決めロボット１００のみを制御対象とするロボット制御装置と、作業ロボット２００のみを制御対象とするロボット制御装置と、により構成してもよい。
【００３９】
ロボット制御装置３００は、位置決めロボット１００の基台１０１又は作業ロボット２００の基台２０１の一方に配置されるが、位置決めロボット１００及び作業ロボット２００と遠隔に配置されていてもよい。また、位置決めロボット１００及び作業ロボット２００と物理的に着脱可能な形態で接続されてもよい。さらに、ロボット制御装置３００は、ティーチペンダント等の外部装置（図示せず）と接続可能である。オペレータは、この外部装置を利用することで、例えばティーチモード（ロボットの移動終了位置（目標位置）を教示するモード）及びチェックモード（ティーチモードに基づくロボットの移動をチェックするモード）の実行開始指令の入力、ティーチモードの実行中における位置決めロボット１００又は作業ロボット２００のマニュアル操作、ティーチモードの実行中における移動開始位置（初期位置）及び移動終了位置（目標終了位置）の入力等を行うことができる。
【００４０】
図２は、図１に示した自動作業システムにおいて特にロボット制御装置３００の機能上の構成を示した機能ブロック図である。図２に示すように、ロボット制御装置３００は、位置ズレ量検出部３０１と、目標位置補正部３０２と、位置・速度サーボ制御部３０３と、アンプ３０４と、位置・速度サーボ制御部３０５と、アンプ３０６と、位置ズレ量記憶部３０７と、位置ズレ量異常検出部３０８と、を有する。尚、位置ズレ量検出部３０１、目標位置補正部３０２、位置・速度サーボ制御部３０３、位置ズレ量異常検出部３０８は、図示しないロボット制御装置３００のＣＰＵが実行するプログラム（ソフトウェア）によって機能ブロックとして実現される。もちろん、これらの機能ブロックを電気回路等のハードウェアによって実現してもよい。
【００４１】
位置ズレ量検出部３０１は、第１のロボットアーム１１０の制御により保持ツール１０５を作業ロボット２００における所定の位置決め基準位置Ｐｎに搬送して位置決めした後、慣性センサ１０６の慣性力Ｑ（加速度又は角速度を示す）に基づいて、外力による保持ツール１０５の位置決め基準位置Ｐｎからの位置ズレ量ΔＰ１を検出する。この位置ズレ量ΔＰ１は、位置決めした状態における保持ツール１０５の制御上の現在位置（位置決め基準位置Ｐｎ）と実際の位置（実位置）Ｐ１とのズレを表す。位置ズレ量検出部３０１には、保持ツール１０５が位置決め基準位置Ｐｎに位置決めされたことを示す停止信号Ｓが入力されていて、位置ズレ量検出部３０１は、この停止信号Ｓが入力されたタイミングで位置ズレ量の検出を開始する。慣性力Ｑに基づく保持ツール１０５の位置ズレ量ΔＰ１は、慣性力Ｑが加速度を示す場合、慣性力Ｑを２階積分して保持ツール１０５の移動量を得ることにより検出する。また、慣性力Ｑが角速度を示す場合、慣性力Ｑを１階積分することで検出する。この場合の位置ズレ量ΔＰ１は、位置決めした状態における保持ツール１０５の制御上の現在角度と実際の角度（以下、実角度という）とのズレ（角度変化量）を表す。なお、位置ズレ量検出部３０１は、停止信号Ｓが入力されない場合には、位置ズレ量ΔＰ１として０を出力する。
【００４２】
この位置ズレ量ΔＰ１は、主として、保持ツール１０５が所定の位置決め基準位置Ｐｎに位置決めされた後、作業ロボット２００によって保持ツール１０５が保持する所定のワークに対し所定の作業が行われる際に、保持ツール１０５又は保持ツール１０５が保持するワークに対し荷重及び外力がかかって生じた位置ズレの度合いを表している。保持ツール１０５にかかる荷重及び外力としては、例えば、図５に示すようなスポット溶接システムの場合、スポット溶接ガンの一方の溶接電極の加圧力が相当する。
【００４３】
目標位置補正部３０２は、上記の外部装置より指示された保持ツール１０５の搬送先となる目標位置Ｐ０（ここでは、位置決め基準位置Ｐｎ）を、位置ズレ量検出部３０１において検出された保持ツール１０５の位置ズレ量ΔＰ１を見込んだ補正目標位置Ｐ０’に補正する。具体的には、「目標位置Ｐ０（位置決め基準位置Ｐｎ）＋位置ズレ量ΔＰ１」を演算して、これを補正目標位置Ｐ０’として出力する。なお、位置ズレ量検出部３０１に停止信号Ｓが入力されない場合には、位置ズレ量ΔＰ１は０であるので、目標位置補正部３０２は、外部装置から指示された目標位置Ｐ０を補正せずにそのまま補正目標位置Ｐ０’として出力する。
【００４４】
位置・速度サーボ制御部３０３は、目標位置補正部３０２から出力される補正目標位置Ｐ０’と、位置決めロボット１００の各アクチュエータ１０４ａ〜１０４ｃが具備するエンコーダにおいて検出されたエンコーダ値θ１と、が入力され、位置決めロボット１００の各アクチュエータ１０４ａ〜１０４ｃが具備するサーボモータの操作量の指令値を出力する。具体的には、位置・速度サーボ制御部３０３は、次式に示すように、補正目標位置Ｐ０’とエンコーダ値θ１との差ｅ１、つまり保持ツール１０５の位置決め基準位置Ｐｎからの位置ズレ量ΔＰ１を考慮に入れた保持ツール１０５の位置偏差ｅ１を算定するとともに、この位置偏差ｅ１を所定のゲインで増幅した信号を出力する。この動作は所謂比例動作と呼ばれる。
【００４５】
ｅ１＝Ｐ０’−θ１＝（Ｐ０＋ΔＰ１）−θ１・・・（式１）
さらに、位置・速度サーボ制御部３０３は、次式に示すように、位置ズレ量ΔＰ１の一次微分とエンコーダ値θ１の一次微分との差ｖ１、つまり保持ツール１０５の位置ズレ量を考慮に入れた保持ツール１０５の速度偏差ｖ１を算定するとともに、この速度偏差ｖ１に所定のゲインで増幅した信号を出力する。この動作は所謂微分動作と呼ばれる。
【００４６】
ｖ１＝ｄＰ０’／ｄｔ−ｄθ１／ｄｔ＝（ｄＰ０／ｄｔ−ｄΔＰ１／ｄｔ）−ｄθ１／ｄｔ・・・（式２）
尚、位置・速度サーボ制御部３０３は、上記の比例動作及び微分動作の他に、所謂積分動作を同時に行うようにしてもよい。
【００４７】
さらに、位置・速度サーボ制御部３０３は、位置ズレ量異常検出部３０８から出力される異常信号Ｅ１が入力されたとき、位置決めロボット１００の動作を停止させる制御を行う。
【００４８】
アンプ３０４は、位置・速度サーボ制御部３０３から出力される信号を増幅し、これを位置決めロボット１００の各アクチュエータ１０４ａ〜１０４ｃが具備するサーボモータに対し、当該サーボモータの操作量に応じた駆動電流指令として出力する。この駆動電流指令に応じて当該サーボモータが回転し、保持ツール１０５が補正目標位置Ｐ０’となるようにフィードバック制御される。
【００４９】
位置・速度サーボ制御部３０５は、外部装置から指示された目標位置Ｐ２と、作業ロボット２００の各アクチュエータ２０４ａ〜２０４ｃが具備するエンコーダにおいて検出されたエンコーダ値θ２と、が入力され、作業ロボット２００の各アクチュエータ２０４ａ〜２０４ｃが具備するサーボモータの操作量の指令値を出力する。具体的には、位置・速度サーボ制御部３０５は、作業ツール２０５の目標位置Ｐ２とエンコーダ値θ２との差である位置偏差ｅ２を算定するとともに、この位置偏差ｅ２に所定のゲインで増幅した信号を出力する。この動作は所謂比例動作と呼ばれる。
【００５０】
ｅ２＝Ｐ２−θ２・・・（式３）
さらに、位置・速度サーボ制御部３０５は、作業ツール２０５の目標位置Ｐ２の一次微分とエンコーダ値θ２の一次微分との差である速度偏差ｖ２を算定するとともに、この速度偏差ｖ２に所定のゲインで増幅した信号を出力する。この動作は所謂微分動作と呼ばれる。
【００５１】
ｖ２＝ｄＰ２／ｄｔ−ｄθ２／ｄｔ・・・（式４）
尚、位置・速度サーボ制御部３０５は、上記の比例動作及び微分動作の他に、所謂積分動作を同時に行うようにしてもよい。
【００５２】
さらに、位置・速度サーボ制御部３０５は、位置ズレ量異常検出部３０８より出力される異常信号Ｅ１が入力されたとき、作業ロボット２００の動作を停止させる制御を行う。
【００５３】
アンプ３０６は、位置・速度サーボ制御部３０５から出力される信号を増幅し、これを作業ロボット２００の各アクチュエータ２０４ａ〜２０４ｃが具備するサーボモータに対し、当該サーボモータの操作量に応じた駆動電流指令として出力する。この駆動電流指令に応じて当該サーボモータが回転し、作業ツール２０５が目標位置Ｐ２となるようにフィードバック制御される。
【００５４】
位置ズレ量記憶部３０７は、位置ズレ量検出部３０１において検出された位置ズレ量ΔＰ１を時系列に記憶する。位置ズレ量ΔＰ１を順次記憶するため、過去に検出された位置ズレ量ΔＰ１の履歴が得られる。例えば、位置ズレ量記憶部３０７は、メモリやハードディスク等の記憶装置として実施される。
【００５５】
位置ズレ量異常検出部３０８は、位置ズレ量検出部３０１において今回検出された位置ズレ量ΔＰ１と、位置ズレ量記憶部３０７に記憶される過去の位置ズレ量ΔＰ１とを相互比較して、位置決めロボット１００に異常が発生しているか否かを判定し、位置決めロボット１００に異常が発生したと判定した場合には異常信号Ｅ１を出力する。例えば、位置ズレ量記憶部３０７に記憶される過去の位置ズレ量ΔＰ１に関する統計分布を求め、この統計分布に対して今回検出された位置ズレ量ΔＰ１が適合するか否かを検定する。また、このような適合の判定は、例えば、今回検出された位置ズレ量ΔＰ１が、過去の位置ズレ量ΔＰ１の平均値以下であるか否かを、所定の有意水準に基づく仮説検定により行うことができる。
【００５６】
図３は、ロボット制御装置３００による位置ズレ量ΔＰ１に基づく位置決めロボット１００の診断方法（実施の形態１に係る自動作業システムにおけるロボットの診断方法）の流れを説明するためのフローチャートである。
【００５７】
ロボット制御装置３００は、初期位置に設定された位置決めロボット１００が停止中の間（Ｓ３００：ＹＥＳ）、慣性センサ１０６のオフセット調整を行う（Ｓ３０１）。後述の移動量を検出する場合、慣性センサ１０６のオフセット量を取り除くことで検出精度の向上、ひいては補正精度の向上を図るためである。
【００５８】
つぎに、ロボット制御装置３００は、慣性センサ１０６のオフセット調整後、位置決めロボット１００の保持ツール１０５により保持したワークを、外部装置より指示された作業ロボット２００における目標位置Ｐ０である所定の位置決め基準位置Ｐｎ（位置決めロボット１００側が認識する位置）に搬送して位置決めする（Ｓ３００：ＮＯ、Ｓ３０２：ＮＯ）。そして、ロボット制御装置３００は、ワークを保持した保持ツール１０５が位置決め基準位置Ｐｎに到達したとき（Ｓ３０２：ＹＥＳ）、位置ズレ量検出部３０１において慣性センサ１０６で検出される慣性力Ｑに基づいたワークの位置決め基準位置Ｐｎからの移動量の検出処理を開始する（Ｓ３０３）。なお、正確には、ロボット制御装置３００は、ワークが位置決め基準位置Ｐｎに到達し、且つ停止信号Ｓが入力されたとき、保持ツール１０５の移動量の検出処理を開始する。
【００５９】
つぎに、ロボット制御装置３００は、位置決めロボット１００と作業ロボット２００とによる協調した作業（例えば、ワークに対するスポット溶接）の動作を制御する（Ｓ３０４）。なお、協調作業の際に、上記のとおりワークに対し荷重及び外力がかかり、目標位置Ｐ０に応じた位置決め基準位置Ｐｎに位置決めされたワークが動く場合がある。そこで、ロボット制御装置３００は、位置ズレ量検出部３０１において、ワークが位置決め基準位置Ｐｎから移動した移動量を検出するとともに（Ｓ３０５）、この検出した移動量に基づいて位置ズレ量ΔＰ１を検出する（Ｓ３０６）。そして、ロボット制御装置３００は、今回検出した位置ズレ量ΔＰ１が所定の基準値（過去の位置ズレ量ΔＰ１の平均値等）以下であるか否かを判定し（Ｓ３０７）、基準値を上回る場合には（Ｓ３０７：ＮＯ）、位置決めロボット１００の異常を検出する（Ｓ３０８）。
【００６０】
上記のとおり、実施の形態１では、自動作業システムにおいて位置決めロボット１００と作業ロボット２００との協調作業の際に生じ得る作業位置のズレを検出するとともに、このズレ量に基づいて位置決めロボット１００に異常が生じたか否かを判定することで、位置決めロボット１００の診断を行うことができる。
【００６１】
＜実施の形態２＞
実施の形態１では、自動作業システムにおいて位置決めロボット１００と作業ロボット２００との間の所定の作業の際に位置決めロボット１００側に異常が発生したか否かを診断している。一方、実施の形態２では、自動作業システムにおける所定の作業の際に作業ロボット２００側に異常が発生したか否かを診断する。
【００６２】
図４は、実施の形態２における自動作業システムの全体構成として特にロボット制御装置３００のブロック構成を示した図である。図１、図２に示した実施の形態１の構成と相違する点は、主として、位置決めロボット１００のロボットアーム１１０の先端部位又はワークに取り付けた慣性センサ１０６を省略し、作業ロボット２００のロボットアーム２１０の先端部位に慣性センサ２０６を取り付けた点、ロボット制御装置３００において位置決めロボット１００を制御対象とするサーボ制御系から位置ズレ量検出部３０１、目標位置補正部３０２、位置ズレ量記憶部３０７、位置ズレ量異常検出部３０８を省略し、作業ロボット２００を制御対象とするサーボ制御系側に位置ズレ量検出部３０９、目標位置補正部３１０、位置ズレ量記憶部３１１、位置ズレ量異常検出部３１２を追加した点である。
【００６３】
慣性センサ２０６は、慣性センサ１０６と同様に、加速度センサ又は角速度センサ等を用いることができ、作業ツール２０５の加速度、角速度等を検出する。また、慣性センサ２０６に指向性がある場合、慣性センサ２０６において最も感度の良い方向を、位置決めロボット１００と作業ロボット２００とによる実際の協調作業において良く変位する方向に設定する。
【００６４】
位置ズレ量検出部３０９は、外部装置により指示された目標位置Ｐ２に応じた位置決め基準位置Ｐｍに作業ツール２０５が位置決めされた後、慣性センサ２０６の慣性力Ｑ（加速度又は角速度を示す）に基づいて、作業ツール２０５の目標位置Ｐ２に応じた位置決め基準位置Ｐｍからの位置ズレ量ΔＰ３を検出する。この位置ズレ量ΔＰ３は、位置決め基準位置Ｐｍに位置決めした状態における作業ツール２０５の制御上の現在位置（位置決め基準位置Ｐｍ）と実際の位置（実位置）Ｐ３とのズレを表す。また、位置ズレ量ΔＰ３は、慣性力Ｑが加速度を示す場合、慣性力Ｑを２階積分して得られる。また、慣性力Ｑが角速度を示す場合、慣性力Ｑを１階積分することで得られる。
【００６５】
目標位置補正部３１０は、上記の外部装置より指示されたワークの作業位置に応じた作業ツール２０５における目標位置Ｐ２（ここでは位置決め基準位置Ｐｍ）を、位置ズレ量検出部３０９において検出された作業ツール２０５の位置ズレ量ΔＰ３を見込んだ補正目標位置Ｐ２’に補正する。具体的には、「目標位置Ｐ２（位置決め基準位置Ｐｍ）＋位置ズレ量ΔＰ３」を演算して、これを補正目標位置Ｐ２’として出力する。なお、位置ズレ量検出部３０７に停止信号Ｓが入力されない場合には、位置ズレ量ΔＰ３は０であるので、目標位置補正部３０８は、目標位置Ｐ２を補正せずにそのまま補正目標位置Ｐ０’として出力する。
【００６６】
位置ズレ量記憶部３１１は、位置ズレ量検出部３０９において検出された位置ズレ量ΔＰ３を時系列に記憶する。位置ズレ量ΔＰ３を時系列で記憶するため、過去に検出された位置ズレ量ΔＰ３の履歴が得られる。例えば、位置ズレ量記憶部３１１は、メモリやハードディスク等の記憶装置として実施される。
【００６７】
位置ズレ量異常検出部３１２は、位置ズレ量検出部３０９において今回検出された位置ズレ量ΔＰ３と、位置ズレ量記憶部３１１に記憶される過去の位置ズレ量ΔＰ３とを相互比較して、作業ロボット２００に異常が発生しているか否かを判定し、作業ロボット２００に異常が発生したと判定した場合には異常信号Ｅ２を出力する。例えば、位置ズレ量記憶部３１１に記憶される過去の位置ズレ量ΔＰ３に関する統計分布を求め、この統計分布に対して今回検出された位置ズレ量ΔＰ３が適合するか否かを検定する。また、このような適合の判定は、例えば、今回検出された位置ズレ量ΔＰ３が、過去の位置ズレ量ΔＰ３の平均値以下であるか否かを、所定の有意水準に基づく仮説検定により行うことができる。
【００６８】
上記のとおり、実施の形態２では、作業ロボット２００の先端部位に慣性センサ２０６を取り付け、この慣性センサ２０６において検出された検出量に基づいて、自動作業システムにおいて位置決めロボット１００と作業ロボット２００との協調作業の際に生じ得る作業位置のズレを検出するとともに、このズレ量に基づいて作業ロボット２００に異常が生じたか否かを判定することで、作業ロボット２００の診断を行うことができる。
【００６９】
＜実施の形態３＞
実施の形態２では、１台の位置決めロボット１００でワークを作業ロボット２００の所定の目標位置に搬送する自動作業システムを想定している。一方、実施の形態３では、図５に示すように、複数の位置決めロボット１００が協調してワークを作業ロボット２００の所定の目標位置に搬送するような自動作業システムを想定している。尚、図５に示す自動作業システムは、位置決めロボット１００が２台（１００ａ、１００ｂ）の場合であるが、位置決めロボット１００が３台以上の場合であってもよい。
【００７０】
図６は、図５に示した自動作業システムの全体構成として特にロボット制御装置３００のブロック構成を示した図である。
【００７１】
図２に示したロボット制御装置３００のブロック構成と相違する点は、位置ズレ量検出部３０１、目標位置補正部３０２、位置・速度サーボ制御部３０３、アンプ３０４が２台の位置決めロボット１００ａ、１００ｂに対応した点と、位置ズレ量記憶部３０７を省略した上で位置ズレ量異常検出部３０８の異常検出処理を異ならせた点と、である。以下では、実施の形態１と大きく相違する位置ズレ量異常検出部３０８とその入力部にあたる位置ズレ量検出部３０１、目標位置補正部３０２についてのみ説明する。
【００７２】
位置ズレ量検出部３０１は、保持ツール１０５ａ、１０５ｂが外部装置により指示された各々の目標位置Ｐ０ａ、Ｐ０ｂに位置決めされた後、慣性センサ１０６ａ、１０６ｂの慣性力Ｑａ、Ｑｂ（加速度又は角速度を示す）に基づいて、搬送ツール１０５ａ、１０５ｂの目標位置Ｐ０ａ、Ｐ０ｂに応じた位置決め基準位置Ｐｍａ、Ｐｍｂからの位置ズレ量ΔＰ１ａ、ΔＰ１ｂを検出する。この位置ズレ量ΔＰ１ａ、ΔＰ１ｂは、目標位置Ｐ０ａ、Ｐ０ｂに位置決めした状態における搬送ツール１０５ａ、１０５ｂの制御上の現在位置（位置決め基準位置Ｐｍａ、Ｐｍｂ）と実際の位置（実位置）Ｐ１ａ、Ｐ１ｂとのズレを表す。また、慣性力Ｑａ、Ｑｂに応じた搬送ツール１０５ａ、１０５ｂの位置ズレ量ΔＰ１ａ、ΔＰ１ｂは、慣性力Ｑａ、Ｑｂが加速度を示す場合、慣性力Ｑａ、Ｑｂを２階積分して得られる。また、慣性力Ｑａ、Ｑｂが角速度を示す場合、慣性力Ｑａ、Ｑｂを１階積分することで得られる。
【００７３】
目標位置補正部３０２は、上記の外部装置より指示されたワークの作業位置に応じた搬送ツール１０５ａ、１０５ｂにおける目標位置Ｐ０ａ、Ｐ０ｂ（ここでは位置決め基準位置Ｐｍａ、Ｐｍｂ）を、位置ズレ量検出部３０１において検出された搬送ツール１０５ａ、１０５ｂの位置ズレ量ΔＰ１ａ、ΔＰ１ｂを見込んだ補正目標位置Ｐ０ａ’、Ｐ０ｂ’に補正する。具体的には、「目標位置Ｐ０ａ、Ｐ０ｂ（位置決め基準位置Ｐｍａ、Ｐｍｂ）＋位置ズレ量ΔＰ１ａ、ΔＰ１ｂ」を演算して、これを補正目標位置Ｐ０ａ’、Ｐ０ｂ’として出力する。なお、位置ズレ量検出部３０１に停止信号Ｓが入力されない場合には、位置ズレ量ΔＰ１ａ、ΔＰ１ｂは０であるので、目標位置補正部３０２は、目標位置Ｐ０ａ、Ｐ０ｂを補正せずにそのまま補正目標位置Ｐ０ａ’、Ｐ０ｂ’として出力する。
【００７４】
位置ズレ量異常検出部３０８は、位置ズレ量検出部３０１において検出される位置ズレ量ΔＰ１ａ、ΔＰ１ｂを相互比較することで、位置決めロボット１００ａ、１００ｂのいずれか一方又は双方に異常が発生したか否かを判定し、異常が発生したことを判定した場合に異常信号Ｅ３を出力する。例えば、位置ズレ量ΔＰ１ａ、ΔＰ１ｂの差（＝ΔＰ１ａ−ΔＰ１ｂ）が所定の基準値以下であるか否かを判定し、所定の基準値を上回る場合には位置決めロボット１００ａ、１００ｂのいずれか一方又は双方に異常が発生したことを判定する。尚、位置決めロボット１００が３台以上ある場合には、各位置決めロボット１００の位置ズレ量を相互比較して、大きく乖離した位置ズレ量が含まれるか否かの判定を行う。
【００７５】
上記のとおり、実施の形態３では、自動作業システムにおいて複数の位置決めロボット１００と作業ロボット２００との協調作業の際に生じ得る作業位置のズレを検出するとともに、このズレ量に基づいて複数の位置決めロボット１００の少なくともいずれかに異常が生じたか否かを判定することで、複数の位置決めロボット１００の診断を効率的に行うことができる。また、実施の形態１とは異なり、位置ズレ量ΔＰ１を逐次記憶する位置ズレ量記憶部３１１を設ける必要がないため、ロボット制御装置３００の構成を簡略化することができる。特に、複数の位置決めロボット１００を用いる自動作業システムの場合、実施の形態１の診断手法では、位置決めロボット１００毎に検出される位置ズレ量ΔＰ１を位置ズレ量記憶部３１１に時系列に記憶するので、大容量の位置ズレ量記憶部３１１が必要となる。このため、位置ズレ量記憶部３１１を設けなくて済む実施の形態３の診断手法の方がロボット制御装置３００の構成を簡略化することができる。
【００７６】
＜実施の形態４＞
実施の形態３では、複数の位置決めロボット１００を用いる自動作業システムにおいて、複数の位置決めロボット１００それぞれの位置ズレ量を相互比較することで複数の位置決めロボット１００のうち少なくともいずれかに異常が発生するか否かの診断を行うようにした。一方、実施の形態４では、複数の位置決めロボット１００を用いる自動作業システムにおいて、複数の位置決めロボット１００個々に異常が発生したか否かの診断、特に複数の位置決めロボット１００それぞれに取り付けられる慣性センサ１０６に異常が発生したか否かの診断を行う。
【００７７】
具体的には、図７に示すように、複数の位置決めロボット１００の中で主ロボット１００ａと従ロボット１００ｂとを順次選定するとともに、主ロボット１００ａと従ロボット１００ｂとを、互いの保持ツール１０５ａ、１０５ｂの先頭が突き合わさるように動作させる。そして、主ロボット１００ａの動作に対して、従ロボット１００ｂが追従して動作可能となるようにこれらを制御する。
【００７８】
上記の状態で、ロボット制御装置３００が、主ロボット１００ａの保持ツール１０５ａを初期位置から指定位置に移動させたとき、主ロボット１００ａの慣性センサ１０６ａの検出量に基づいて主ロボット１００ａの保持ツール１０５ａの移動量を検出するとともに、従ロボット１００ｂの慣性センサ１０６ｂの検出量に基づいて従ロボット１００ｂの保持ツール１０５ｂの移動量を検出する。尚、保持ツール１０５ａの移動は、直交三次元座標系におけるＸ軸、Ｙ軸、Ｚ軸それぞれの並進方向への移動、Ｘ軸、Ｙ軸、Ｚ軸それぞれの回転方向への移動を対象とする。
【００７９】
そして、ロボット制御装置３００は、検出した主ロボット１００ａの保持ツール１０５ａの移動量及び従ロボット１００ｂの保持ツール１０５ｂの移動量に応じた、主ロボット１００ａの慣性センサ１０６ａ及び従ロボット１００ｂの慣性センサ１０６ｂに異常が発生したか否かを判定する。例えば、主ロボット１００ａの保持ツール１０５ａをＸ軸の正方向（紙面右方向）に１０ｃｍ移動させた場合、主ロボット１００ａの慣性センサ１０６ａの検出量に基づいて保持ツール１０５ａがＸ軸の正方向に１０ｃｍ移動したか否かを判定する。また、従ロボット１００ｂの慣性センサ１０６ｂの検出量に基づいて保持ツール１０５ｂがＸ軸の負方向（紙面左方向）に１０ｃｍ移動したか否かを判定する。
【００８０】
尚、上記の慣性センサ１０６の異常診断は、ロボット制御装置３００が行うようにしたが、慣性センサ１０６の異常診断を行うために準備した専用の外部装置（ロボット制御装置３００と同等の機能を具備するコンピュータ）が行うようにしてもよい。
【００８１】
上記のとおり、実施の形態４では、複数の位置決めロボット１００を用いる自動作業システムにおいて、位置決めロボット１００毎に異常診断を行うことができ、異常が発生した位置決めロボット１００の特定が容易になる。また、実施の形態３における作業の際の位置ズレ量に基づく異常診断を行う前の準備段階として、位置決めロボット１００自体の動作は正常であるという前提条件の下で、位置決めロボット１００毎に取り付けられる慣性センサ１０６の異常を容易に検出することができる。
【００８２】
＜実施の形態５＞
実施の形態５では、位置決めロボット１００の各アクチュエータ１０４ａ〜１０４ｄのバックラッシュ量（サーボモータとアーム部材との間のガタ）が正常か否かの診断を行う。
【００８３】
図８は、実施の形態５に係るロボット制御装置３００のブロック構成を示した図である。ロボット制御装置３００は、実施の形態５の固有の構成として、バックラッシュ量検出部３１３と、バックラッシュ量判定部３１４と、を備えている。
【００８４】
バックラッシュ量検出部３１３は、位置決めロボット１００の各アクチュエータ１０４ａ〜１０４ｄのエンコーダより検出されるエンコーダ値θ１と、位置決めロボット１００の保持ツール１０５に取り付けられた慣性センサ１０６より検出される慣性力Ｑと、が入力される。エンコーダ値θ１より位置決めロボット１００の各関節１０３ａ〜１０３ｃの角度θｘ（第１の角度）が得られ、慣性力Ｑより保持ツール１０５の角度θｙが得られる。尚、保持ツール１０５の位置及び位置決めロボット１００の各関節１０３ａ〜１０３ｃの角度の関係（逆運動学問題）を定式化した所定の非線形連立方程式を解くことで、保持ツール１０５の角度θｙより位置決めロボット１００の各関節１０３ａ〜１０３ｃの角度θｚ（第２の角度）が得られる。バックラッシュ量検出部３１３は、エンコーダ値θ１に応じた位置決めロボット１００の各関節１０３ａ〜１０３ｃの角度θｘ（第１の角度）と、保持ツール１０５の角度θｙに応じた位置決めロボット１００の各関節１０３ａ〜１０３ｃの角度θｚ（第２の角度）との間の角度差（＝θｘ−θｚ）に基づいて、位置決めロボット１００の各アクチュエータ１０４ａ〜１０４ｄのバックラッシュ量を検出する。
【００８５】
尚、バックラッシュ量の検出は、位置決めロボット１００を単軸動作、すなわち、各アクチュエータ１０４ａ〜１０４ｄを単独で動作させて行う。この場合、基端のアーム部材１０２ａを回動させるアクチュエータ１０４ｅを動作させる場合は、当該関節に重力がかからない。一方、各アクチュエータ１０４ａ〜１０４ｄを動作させる場合には、関節１０３ａ〜１０３ｃに重力がかかる。バックラッシュ量は、このアームを動作させる際に関節１０３ａ〜１０３ｃに重力がかからない場合と、アームを動作させる際に関節１０３ａ〜１０３ｃに重力がかかる場合とに分けて、その検出方法が異なっている。
【００８６】
図９は、重力がかからない場合におけるバックラッシュ量の検出方法を説明するための図である。この場合、アクチュエータ１０４ａ〜１０４ｄの回転方向が変わるとき、エンコーダから求めた角度θｘの単位時間あたりの変化量の傾きは正から負又は負から正に切り替わるが、慣性センサ１０６から求めた角度θｚは傾き０の期間を介して正から負又は負から正に切り替わる。そこで、バックラッシュ量は、次式のとおり、アクチュエータ１０４ａ〜１０４ｄの回転方向が変わる傾き０の期間前後における角度差（＝θｘ−θｚ）から求められる。
【００８７】
バックラッシュ量  ＝  Δθｍ（回転方向の変化前）−Δθｐ（回転方向の変化後）  ・・・  （式５）
但し、
Δθｍは、上記の角度差（＝θｘ−θｚ）がマイナス（負）のときの角度差
Δθｐは、上記の角度差（＝θｘ−θｚ）がプラス（正）のときの角度差
尚、慣性センサ１０６から求められた角度θｚにセンサ固有の誤差が含まれる場合であっても、その誤差が一定と仮定した場合には相殺されるため、バックラッシュ量を正しく算出することが可能であることが分かる。
【００８８】
図１０は、重力がかかる場合におけるバックラッシュ量の検出方法を説明するための図である。この場合、アクチュエータ１０４ａ〜１０４ｄの重力方向が反転するとき、エンコーダから求めた角度θｘの単位時間あたりの変化量の傾きは一定に推移するが、慣性センサ１０６から求めた角度θｚは傾きが急激に変化した後、元の傾きに戻る。そこで、バックラッシュ量は、つぎの式のとおり、アクチュエータ１０４ａ〜１０４ｄの重力方向が変わる前後における角度差（＝θｘ−θｚ）から求められる。
【００８９】
バックラッシュ量  ＝  Δθｍ（重力方向の変化前）−Δθｐ（重力方向の変化後）  ・・・  （式６）
但し、
Δθｍは、上記の角度差（＝θｘ−θｚ）がマイナス（負）のときの角度差
Δθｐは、上記の角度差（＝θｘ−θｚ）がプラス（正）のときの角度差
バックラッシュ量判定部３１４は、バックラッシュ量検出部３１３により検出したバックラッシュ量とそれぞれの参照量とを比較して、検出したバックラッシュ量が正常か否かを判定する。尚、検出したバックラッシュ量がそれに対応する参照量以下であれば正常と判定し、当該参照量を上回れば異常と判定する。バックラッシュ量判定部３１４は、異常と判定した場合、その旨を表す異常信号Ｅ４を位置・速度サーボ制御部３０３に向けて出力する。これにより、位置・速度サーボ制御部３０３は異常信号Ｅ４に基づいて位置決めロボット１００の動作を停止することができる。
【００９０】
＜実施の形態６＞
実施の形態５では、位置決めロボット１００の各アクチュエータ１０４ａ〜１０４ｄのバックラッシュ量（サーボモータのガタ）が正常か否かの診断を行う。一方、実施の形態６では、作業ロボット２００側の各アクチュエータ２０４ａ〜２０４ｄのバックラッシュ量が正常か否かの診断を行う。
【００９１】
具体的には、位置決めロボット１００と作業ロボット２００とが協調して所定の作業を行う際、ロボット制御装置３００は、作業ロボット２００の各アクチュエータ２０４ａ〜２０４ｄのエンコーダより検出されるエンコーダ値θ２に基づいて作業ロボット２００の各関節２０３ａ〜２０３ｃの角度θｘ’（第１の角度）を求めるとともに、作業ロボット２００の作業ツール２０５に取り付けられた慣性センサ２０６より検出される慣性力Ｑに基づいて作業ツール２０５の角度θｙ’（第２の角度）を求める。そして、ロボット制御装置３００は、エンコーダ値θ２に応じた作業ロボット２００の各関節２０３ａ〜２０３ｃの角度θｘ’（第１の角度）と、作業ツール２０５の角度θｙ’に応じた作業ロボット２００の各関節２０３ａ〜２０３ｃの角度θｚ’（第２の角度）との間の角度差（＝θｘ’−θｚ’）に基づいて、作業ロボット２００の各アクチュエータ２０４ａ〜２０４ｄのバックラッシュ量を検出する。
【００９２】
尚、位置決めロボット１００の場合と同様に、アームを動作させる際に関節２０３ａ〜２０３ｃに重力がかからない場合と、アームを動作させる際に関節２０３ａ〜２０３ｃに重力がかかる場合と、において、バックラッシュ量の検出方法が異なっている。従って、それぞれのバックラッシュ量の検出方法を実施するため、作業ロボット２００を単軸動作、すなわち、各アクチュエータ２０４ａ〜２０４ｄを単独で動作させて行う。
【００９３】
ロボット制御装置３００は、検出したバックラッシュ量がそれに対応する参照量以下であれば正常と判定し、当該参照量を上回れば異常と判定する。異常と判定した場合、その旨を表す異常信号Ｅ４’を位置・速度サーボ制御部３０５に向けて出力する。これにより、位置・速度サーボ制御部３０５は異常信号Ｅ４’に基づいて作業ロボット２００の動作を停止することができる。
【産業上の利用可能性】
【００９４】
本発明は、位置決めロボットと作業ロボットとの協調作業の際に生じ得る作業位置のズレ量を簡素な仕組みで検出してこのズレ量に基づいて位置決めロボット又は作業ロボットに異常が発生したか否かの診断を行うという優れた作用効果を奏し、作業の際に位置決めロボットの保持ツールや作業ロボットの作業ツールに荷重及び外力がかかる自動作業システムに利用すると有益である。
【符号の説明】
【００９５】
１００  位置決めロボット
１０１  基台
１０２ａ〜１０２ｄ  アーム部材
１０３ａ〜１０３ｃ  関節
１０４ａ〜１０４ｃ  アクチュエータ
１０５  保持ツール
１０６  慣性センサ
２００  作業ロボット
２０１  基台
２０２ａ〜２０２ｄ  アーム部材
２０３ａ〜２０３ｃ  関節
２０４ａ〜２０４ｃ  アクチュエータ
２０５  保持ツール
２０６  慣性センサ
３００  ロボット制御装置
３０１、３０９  位置ズレ量検出部
３０２、３１０  目標位置補正部
３０３、３０５  位置・速度サーボ制御部
３０４、３０６  アンプ
３０７、３１１  位置ズレ量記憶部
３０８、３１２  位置ズレ量異常検出部
３１３  バックラッシュ量検出部
３１４  バックラッシュ量判定部
【図１】
2011042022.tif 000003
【図２】
2011042022.tif 000004
【図３】
2011042022.tif 000005
【図４】
2011042022.tif 000006
【図５】
2011042022.tif 000007
【図６】
2011042022.tif 000008
【図７】
2011042022.tif 000009
【図８】
2011042022.tif 000010
【図９】
2011042022.tif 000011
【図１０】
2011042022.tif 000012
【図１１】
2011042022.tif 000013