(57)【要約】【課題】１つ工程内に設置された複数のロボットのキャリブレーションに要する時間を短縮する。【解決手段】１つの工程内に設置された複数のロボット１，２について、それぞれのフランジ１１，２１に配置したフランジ被計測体４１，４２と全ロボット共通の基準被計測体４０とを固定計測装置３にて計測し、その計測結果を用いて制御装置１００において各ロボットのロボット誤差を計算している。このような処理により、１つの工程内に設置した複数のロボット１，２のキャリブレーションをオンラインで行うことができる。これにより、複数のロボットをそれぞれ個別にキャリブレーションを行う場合と比較して、キャリブレーションに要する時間を短くすることができるので、工作設備工程などの工程全体のキャリブレーション時間を短縮することができる。【選択図】図１
2018176388.tif 000002
【特許請求の範囲】
【請求項１】
１つの工程内に設置される複数のロボットに対してキャリブレーションを行うキャリブレーション装置であって、
前記１つの工程内に設置され、点間距離が既知で一直線上にない３点以上の計測点を有する基準被計測体と、
前記複数のロボットのそれぞれのアーム先端のフランジに取り付けられ、点間距離が既知で一直線上にない３点以上の計測点を有するフランジ被計測体と、
前記工程内に設置された固定計測装置と、
前記複数のロボットを制御する制御装置と、を備え、
前記固定計測装置によって前記複数のロボットのそれぞれの前記フランジ被計測体および前記基準被計測体をロボットごとに計測するように構成されているとともに、
前記制御装置は、前記固定計測装置によって計測された計測結果に基づいて前記各ロボットのフランジ被計測体と前記基準被計測体との位置姿勢関係をロボットごとに計算し、その位置姿勢関係の計算結果、および前記各ロボットにおいて前記固定計測装置によって計測を行ったときの前記フランジ被計測体のロボット座標系における位置姿勢データ用いて、前記各ロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差をロボットごとに計算することを特徴とするキャリブレーション装置。
【請求項２】
請求項１に記載のキャリブレーション装置において、
前記制御装置は、前記計算によって計算された前記各ロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差を補正量として用いて当該各ロボットの実際の設置位置姿勢をロボットごとに計算することを特徴とするキャリブレーション装置。
【請求項３】
請求項１または２に記載のキャリブレーション装置において、
前記複数のロボットのうち、特定のロボットの前記フランジにロボット手先計測装置が取り付けられており、
前記特定のロボットのロボット手先計測装置によって前記基準被計測体を計測するように構成されているとともに、
前記制御装置は、前記特定のロボットのロボット手先計測装置によって計測された計測結果に基づいて当該ロボット手先計測装置の計測ツール点と前記基準被計測体との位置姿勢関係を計算し、その位置姿勢関係の計算結果、前記ロボット手先計測装置によって計測を行ったときの当該ロボット手先計測装置の設計上の計測ツール点のロボット座標系における位置姿勢データ、および前記特定のロボットの前記計算による前記ロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差を用いて、前記特定のロボットのロボット手先計測装置の計測ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差を計算することを特徴とするキャリブレーション装置。
【請求項４】
請求項３に記載のキャリブレーション装置において、
前記制御装置は、前記計算によって計算された前記特定のロボットのロボット手先計測装置の計測ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差を補正量として用いて当該ロボット手先計測装置の計測ツール点の実際の設置位置姿勢を計算することを特徴とするキャリブレーション装置。
【請求項５】
請求項１〜４のいずれか１つに記載のキャリブレーション装置において、
前記複数のロボットのうち、特定のロボットの前記フランジに作業ツールが取り付けられており、
前記固定計測装置によって、前記特定のロボットの作業ツールおよび前記基準被計測体を計測するように構成されているとともに、
前記制御装置は、前記固定計測装置によって計測された計測結果に基づいて前記特定のロボットの作業ツールの作業ツール点と前記基準被計測体との位置姿勢関係を計算し、その位置姿勢関係の計算結果、前記固定計測装置によって計測を行ったときの前記作業ツールの設計上の作業ツール点のロボット座標系における位置姿勢データ、および前記特定のロボットの前記計算による前記ロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差を用いて、前記特定のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差を計算することを特徴とするキャリブレーション装置。
【請求項６】
請求項５に記載のキャリブレーション装置において、
前記制御装置は、前記計算によって計算された前記特定のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差を補正量として用いて当該特定のロボットの作業ツールの作業ツール点の実際の設置位置姿勢を計算することを特徴とするキャリブレーション装置。
【請求項７】
請求項１〜６のいずれか１つに記載のキャリブレーション装置において、
前記複数のロボットのうち、特定のロボットの前記フランジに取り付けられたロボット手先計測装置を有し、前記特定のロボット以外の他のロボットの前記フランジに作業ツールが取り付けられており、
前記特定のロボットの前記ロボット手先計測装置によって、前記他のロボットの作業ツールを計測するように構成されているとともに、
前記制御装置は、前記特定のロボットのロボット手先計測装置によって計測された計測結果に基づいて当該ロボット手先計測装置の計測ツール点と前記他のロボットの作業ツールの作業ツール点との位置姿勢関係を計算し、その位置姿勢関係の計算結果、ロボット手先計測装置によって計測を行ったときの前記ロボット手先計測装置の設計上の計測ツール点のロボット座標系における位置姿勢データ、および、前記特定のロボットおよび前記他のロボットのそれぞれの前記計算による前記ロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差を用いて、前記他のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差を計算することを特徴とするキャリブレーション装置。
【請求項８】
請求項７に記載のキャリブレーション装置において、
前記制御装置は、前記計算によって計算された前記他のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差を補正量として用いて当該他のロボットの作業ツールの作業ツール点の設置位置姿勢を計算することを特徴とするキャリブレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットのキャリブレーション装置に関する。
【背景技術】
【０００２】
ロボットに対してキャリブレーションを行うキャリブレーション装置が知られている（例えば、特許文献１参照）。
【０００３】
特許文献１に記載の技術では、アーム部の先端を移動させる複数のアーム軸と、アーム部先端の手首部の先端を移動させる複数の手首軸とを有するロボットのキャリブレーション装置において、アーム各軸を駆動することによりアーム部先端を第１の基準位置に位置決めしたときのアーム各軸の駆動位置と、記憶手段に記憶された第１の駆動位置との偏差を演算し、その偏差に応じてアーム各軸の原点を補正している。さらに、手首部先端を第２の基準位置に位置決めしたときの手首各軸の駆動位置と、記憶手段に記憶された第２の駆動位置との偏差を演算し、その偏差に応じて手首各軸の原点位置を補正している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−１６０８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記特許文献１に記載の技術では、１台のロボットに対してキャリブレーションを行う技術であるので、工作設備工程などの１つの工程内に複数のロボットが設置されている場合、それら複数のロボットについて、その各ロボットごとにそれぞれ個別にオフラインでキャリブレーションを行う必要がある。このため、工程全体のロボットのキャリブレーションに多くの時間を要する。
【０００６】
本発明はそのような実情を考慮してなされたもので、１つの工程内に設置された複数のロボットのキャリブレーションに要する時間を短縮することが可能なキャリブレーション装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、１つの工程内に設置される複数のロボットに対してキャリブレーションを行うキャリブレーション装置を対象としており、このようなキャリブレーション装置において、前記１つの工程内に設置され、点間距離が既知で一直線上にない３点以上の計測点を有する基準被計測体と、前記複数のロボットのそれぞれのアーム先端のフランジに取り付けられ、点間距離が既知で一直線上にない３点以上の計測点を有するフランジ被計測体と、前記工程内に設置された固定計測装置と、前記複数のロボットを制御する制御装置とを備え、前記固定計測装置によって前記複数のロボットのそれぞれの前記フランジ被計測体および前記基準被計測体をロボットごとに計測するように構成されている。
【０００８】
そして、前記制御装置は、前記固定計測装置によって計測された計測結果に基づいて前記各ロボットのフランジ被計測体と前記基準被計測体との位置姿勢関係をロボットごとに計算し、その位置姿勢関係の計算結果、および前記各ロボットにおいて前記固定計測装置によって計測を行ったときの前記フランジ被計測体のロボット座標系における位置姿勢データを用いて、前記各ロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差（以下、単に「ロボット誤差」ともいう）をロボットごとに計算することを特徴としている。
【０００９】
ここで、本発明でいう「位置姿勢」とは、Ｘ軸，Ｙ軸，Ｚ軸の３軸の位置、および、そのＸ軸回り、Ｙ軸回り、Ｚ軸回りの姿勢のことであり、また「ロボット座標系」とは、ロボットのベースの基準点を原点とする座標系のことである。
【００１０】
また、本発明でいう「ロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差」とは、ロボットの設置誤差およびロボットの機差を含む誤差のことである。機差とは、ロボットの加工誤差、製作誤差および組付誤差を含む誤差のことである。
【００１１】
本発明によれば、１つの工程内に設置された複数のロボットの各フランジ被計測体と基準被計測体とを固定計測装置にて計測し、その計測結果を用いて制御装置において各ロボットのロボット誤差を計算しているので、１つの工程内に設置した複数のロボットのキャリブレーションをオンラインで行うことができる。これにより、複数のロボットをそれぞれ個別にキャリブレーションを行う場合と比較して、キャリブレーションに要する時間を短くすることができるので、工作設備工程などの工程全体のキャリブレーション時間を短縮することができる。
【００１２】
本発明において、上記計算によって計算された各ロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差を補正量として用いて当該各ロボットの実際の設置位置姿勢をロボットごとに計算する。このような計算を行うことにより、各ロボットのフランジの代表点（例えば、フランジ先端面の中心）の実際の設置位置姿勢を設計上の設置位置姿勢に合わせることができる。
【００１３】
本発明において、複数のロボットのうち、特定のロボットのフランジにロボット手先計測装置が取り付けられており、その特定のロボットのロボット手先計測装置によって基準被計測体を計測する。そして、特定のロボットのロボット手先計測装置によって計測された計測結果に基づいて当該ロボット手先計測装置の計測ツール点と基準被計測体との位置姿勢関係を計算し、その位置姿勢関係の計算結果、前記ロボット手先計測装置によって計測を行ったときの当該ロボット手先計測装置の設計上の計測ツール点のロボット座標系における位置姿勢データ、および特定のロボットの前記計算によるロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差を用いて、特定のロボットのロボット手先計測装置の計測ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差（以下、特定のロボットのロボット手先計測装置誤差ともいう）を計算するように構成してもよい。
【００１４】
この構成によれば、特定のロボットのロボット手先計測装置によって基準被計測体を計測した計測結果、設計上の計測ツール点のロボット座標系における位置姿勢データ、および特定のロボットの上記計算により計算済みのロボット誤差を用いて、特定のロボットのロボット手先計測装置誤差を計算するので、特定のロボットのロボット手先計測装置の設置位置姿勢のキャリブレーションを容易にかつ短い時間で行うことができる。
【００１５】
また、この構成において、前記計算によって計算された特定のロボットのロボット手先計測装置の計測ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差を補正量として用いて当該ロボット手先計測装置の計測ツール点の実際の設置位置姿勢を計算してもよい。このような計算を行うことにより、特定のロボットのロボット手先計測装置の計測ツール点の実際の設置位置姿勢を設計上の設置位置姿勢に合わせることができる。
【００１６】
なお、「ロボット手先計測装置の計測ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差」とは、ロボット手先計測装置の設置誤差およびロボット手先計測装置の機差を含む誤差のことである。ロボット手先計測装置の機差とは、ロボット手先計測装置の加工誤差、製作誤差および組付誤差を含む誤差のことである。
【００１７】
本発明において、複数のロボットのうち、特定のロボットのフランジに作業ツールが取り付けられており、固定計測装置によって、特定のロボットの作業ツールおよび基準被計測体を計測する。そして、固定計測装置によって計測された計測結果に基づいて特定のロボットの作業ツールの作業ツール点と基準被計測体との位置姿勢関係を計算し、その位置姿勢関係の計算結果、前記固定計測装置によって計測を行ったときの前記作業ツールの設計上の作業ツール点のロボット座標系における位置姿勢データ、および特定のロボットの前記計算によるロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差を用いて、特定のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差（以下、特定のロボットの作業ツール誤差ともいう）を計算するように構成してもよい。
【００１８】
この構成によれば、固定計測装置によって特定のロボットの作業ツールおよび基準被計測体を計測した計測結果、設計上の作業ツール点のロボット座標系における位置姿勢データ、および特定のロボットの前記計算により計算済みのロボット誤差を用いて特定のロボットの作業ツール誤差を計算するので、特定のロボットの作業ツールの設置位置姿勢のキャリブレーションを容易にかつ短い時間で行うことができる。
【００１９】
また、この構成において、前記計算によって計算された特定のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差を補正量として用いて当該特定のロボットの作業ツールの作業ツール点の実際の設置位置姿勢を計算してもよい。このような計算を行うことにより、特定のロボットの作業ツールの作業ツール点の実際の設置位置姿勢を設計上の設置位置姿勢に合わせることができる。
【００２０】
なお、「特定のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差」とは、特定のロボットの作業ツールの設置誤差および作業ツールの機差を含む誤差のことである。特定のロボットの作業ツールの機差とは、特定のロボットの作業ツールの加工誤差、製作誤差および組付誤差を含む誤差のことである。
【００２１】
本発明において、複数のロボットのうち、特定のロボットのフランジに取り付けられたロボット手先計測装置を有し、特定のロボット以外の他のロボットのフランジに作業ツールが取り付けられており、特定のロボットのロボット手先計測装置によって、他のロボットの作業ツールを計測する。そして、前記特定のロボットのロボット手先計測装置によって計測された計測結果に基づいて当該ロボット手先計測装置の計測ツール点と前記他のロボットの作業ツールの作業ツール点との位置姿勢関係を計算し、その位置姿勢関係の計算結果、ロボット手先計測装置によって計測を行ったときの前記ロボット手先計測装置の設計上の計測ツール点のロボット座標系における位置姿勢データ、および、特定のロボットおよび他のロボットのそれぞれの前記計算によるロボットの設計上の設置位置姿勢と実際の設置位置姿勢との誤差を用いて、他のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差（以下、他のロボットの作業ツール誤差ともいう）を計算するように構成してもよい。
【００２２】
この構成によれば、特定のロボットのロボット手先計測装置によって他のロボットの作業ツールを計測した計測結果、設計上の計測ツール点のロボット座標系における位置姿勢データ、および、特定のロボットおよび他のロボットのそれぞれの前記計算により計算済みのロボット誤差を用いて他のロボットの作業ツール誤差を計算するので、他のロボットの作業ツールの設置位置姿勢のキャリブレーションを容易にかつ短い時間で行うことができる。
【００２３】
また、この構成において、前記計算によって計算された他のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差を補正量として用いて当該他のロボットの作業ツールの作業ツール点の実際の設置位置姿勢を計算してもよい。このような計算を行うことにより、他のロボットの作業ツールの作業ツール点の実際の設置位置姿勢を設計上の設置位置姿勢に合わせることができる。
【００２４】
なお、「他のロボットの作業ツールの作業ツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差」とは、他のロボットの作業ツールの設置誤差および作業ツールの機差を含む誤差のことである。他のロボットの作業ツールの機差とは、他のロボットの作業ツールの加工誤差、製作誤差および組付誤差を含む誤差のことである。
【発明の効果】
【００２５】
本発明によれば、１つの工程内に設置された複数のロボットのキャリブレーションに要する時間を短縮することができる。
【図面の簡単な説明】
【００２６】
【図１】１つの工作設備工程に設置された第１ロボットおよび第２ロボットの概略構成を示す斜視図である。
【図２】制御装置の構成を示すブロック図である。
【図３】被計測体の構造を示す斜視図である。
【図４】第１ロボットおよび第２ロボットのキャリブレーションの処理内容を示す図である。
【図５】第１ロボットのフランジ被計測体と基準被計測体とを固定カメラにて計測する状態を模式的に示す図である。
【図６】第２ロボットのフランジ被計測体と基準被計測体とを固定カメラにて計測する状態を模式的に示す図である。
【図７】仮想の原点、第１ロボット、第２ロボット、フランジ被計測体、および基準被計測体の各座標系の関係を模式的に示す図である。
【図８】ロボットカメラのキャリブレーションの処理内容を示す図である。
【図９】第２ロボットのロボットカメラにて基準被計測体を計測する状態を模式的に示す図である。
【図１０】仮想の原点、第２ロボット、ロボットカメラのカメラツール点、および基準被計測体の各座標系の関係を模式的に示す図である。
【図１１】ナットランナのキャリブレーションの処理内容を示す図である。
【図１２】第２ロボットのナットランナを固定カメラにて計測する状態を模式的に示す図である。
【図１３】仮想の原点、第２ロボット、ナットランナツール点、および基準被計測体の各座標系の関係を模式的に示す図である。
【図１４】マテハンのキャリブレーションの処理内容を示す図である。
【図１５】第１ロボットのマテハン被計測体を第２ロボットのロボットカメラにて計測する状態を模式的に示す図である。
【図１６】仮想の原点、第１ロボット、第２ロボット、ロボットカメラのカメラツール点、およびマテハンツール点の各座標系の関係を模式的に示す図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態を図面に基づいて説明する。
【００２８】
本実施形態では、１つの工程内に設置される２台の６軸多関節ロボットに対してキャリブレーションを行う場合について説明する。
【００２９】
まず、本実施形態において、６変数とは、水平面上において互いに直交するＸ軸とＹ軸、鉛直上向きを正方向とするＺ軸、およびＸ軸回り、Ｙ軸回り、Ｚ軸回りの６変数のことである。また、上述したように、位置姿勢とは、Ｘ軸，Ｙ軸，Ｚ軸の３軸の位置、およびＸ軸回り、Ｙ軸回り、Ｚ軸回りの姿勢のことである。
【００３０】
本実施形態にあっては、図１に示すように、１つの工作設備工程Ｓ内（以下、単に「工程Ｓ内」ともいう）に第１ロボット１および第２ロボット２の２台のロボットが設置されている。第１ロボット１および第２ロボット２は共に６軸多関節ロボットである。これら第１ロボット１および第２ロボット２の各動作は制御装置１００（図２参照）によって制御される。なお、第２ロボット２が本発明の「特定のロボット」の一例である。また、第１ロボット１が本発明の「他のロボット」の一例である。
【００３１】
第１ロボット１は、ベース１ａ上に設けられた多関節のロボットアーム１ｂを備え、そのロボットアーム１ｂの先端に、作業ツールなどを取り付けるフランジ１１が取り付けられている。第１ロボット１のフランジ１１には、マテリアルハンド（以下、マテハンという）１２が取り付けられている。マテハン１２は、例えば車両のドアを保持するツールである。マテハン１２が本発明の「他のロボットのフランジに取り付けられた作業ツール」の一例である。
【００３２】
第２ロボット２は、ベース２ａ上に設けられた多関節のロボットアーム２ｂを備え、そのロボットアーム２ｂの先端に、作業ツールなどを取り付けるフランジ２１が取り付けられている。第２ロボット２のフランジ２１には、ロボット手先計測装置２２およびナットランナ２３が取り付けられている。ロボット手先計測装置２２は、例えばレーザ変位計である。以下、ロボット手先計測装置２２をロボットカメラ２２という。ナットランナ２３は、ワーク（例えば車両のドア）にナットを締め付ける締付機である。ナットランナ２３が本発明の「特定のロボットのフランジに取り付けられた作業ツール」の一例である。
【００３３】
また、工程Ｓ内の所定位置に支柱５が設置されている。支柱５の上部には支持台５１が設けられており、この支持台５１に固定計測装置３と被計測体４（４０）とが設置されている。固定計測装置３は、例えばレーザ変位計である。以下、固定計測装置３を固定カメラ３という。
【００３４】
被計測体４は、図３に示すように立方体（例えば金属製）である。被計測体４には、立方体の複数面（例えば、支持台５または後述するフランジ１１，２１への取付面は除く５面）にそれぞれ４点の計測点４ａ・・４ａが形成されている。これら４点の計測点４ａ・・４ａは、正方形の頂点となる位置に配置された孔（球面凹部）であって、その各面の４点の計測点４ａ・・４ａの点間距離はそれぞれ既知である。以下、工程Ｓ内の所定位置に設置された被計測体４を基準被計測体４０という。この基準被計測体４０は工程Ｓ内の位置姿勢基準である。そして、基準被計測体４０は、１つの面が固定カメラ３に対向するように固定配置されている。
【００３５】
第１ロボット１のフランジ１１には、図３に示す被計測体４が取り付けられている。以下、第１ロボット１のフランジ１１に取り付けられた被計測体４をフランジ被計測体４１という。フランジ被計測体４１は第１ロボット１のフランジ１１に対して相対的に位置決めされており、そのフランジ１１の代表点（例えば、フランジ先端面の中心）とフランジ被計測体４１の各面の４点の計測点４ａ・・４ａとの位置姿勢関係は既知である。
【００３６】
また、第２ロボット２のフランジ２１にも、図３に示す被計測体４が取り付けられている。以下、第２ロボット２のフランジ２１に取り付けられた被計測体４をフランジ被計測体４２という。フランジ被計測体４２は第２ロボット２のフランジ２１に対して相対的に位置決めされており、その第２ロボット２のフランジ２１の代表点（例えば、フランジ先端面の中心）とフランジ被計測体４２の各面の４点の計測点４ａ・・４ａとの位置姿勢関係は既知である。
【００３７】
−制御装置−
次に、制御装置１００について説明する。
【００３８】
制御装置１００は、図２に示すように、ＣＰＵ(Central Processing Unit)１１０、各部を制御するためのプログラムなどを記憶するＲＯＭ(Read Only Memory)１２０と、データを一時的に記憶するＲＡＭ(Random Access Memory)１３０、および入出力インターフェース１４０などを備えている。
【００３９】
ＣＰＵ１１０は、ＲＯＭ１２０に記憶されたプログラムやデータなどに基づいて演算処理を実行するように構成されている。ＲＯＭ１２０には制御用のプログラムやデータなどが記憶されている。ＲＡＭ１３０は、ＣＰＵ１１０による演算結果などを一時的に記憶する。入出力インターフェース１４０には、第１ロボット１、第２ロボット２、固定カメラ３、ロボットカメラ２２、および入力装置２００が接続されている。
【００４０】
ＣＰＵ１１０は、ロボット制御部１１１、カメラ制御部１１２、および計算処理部１１３を備えている。
【００４１】
ロボット制御部１１１は、入力装置２００からの動作指令や動作プログラムに応じて第１ロボット１と第２ロボット２とを動作させて、それら第１ロボット１のフランジ１１と第２ロボット２のフランジ２１とをそれぞれ移動する。
【００４２】
また、ロボット制御部１１１は、キャリブレーション時に入力装置２００からの動作指令などに応じて第１ロボット１と第２ロボット２とを動作させて、それら第１ロボット１のフランジ１１と第２ロボット２のフランジ２１とをそれぞれ移動する。さらに、ロボット制御部１１１は、キャリブレーション時において第１ロボット１と第２ロボット２とを動作させたときの６変数の各データを計算処理部１１３に送る。
【００４３】
カメラ制御部１１２は、入力装置２００からの動作指令に応じて固定カメラ３とロボットカメラ２２とをそれぞれ駆動する。また、カメラ制御部１１２は、固定カメラ３とロボットカメラ２２とによって計測された各カメラ計測データを計算処理部１１３に送る。
【００４４】
計算処理部１１３は、ロボット制御部１１１からの６変数の各データ、およびカメラ制御部１１２からのカメラ計測データに基づいて、後述する［ロボットキャリブレーション］、［ロボットカメラキャリブレーション］、［ナットランナキャリブレーション］、および［マテハンキャリブレーション］などを実行する。
【００４５】
−ロボットキャリブレーション−
次に、１つの工程Ｓに設置された第１ロボット１および第２ロボット２の２台のロボットのキャリブレーションについて図１および図４〜図７を参照して説明する。
【００４６】
［本明細書における数式表現の定義］
まず、本明細書においては、６変数の位置姿勢を表現するために、３次元の座標系を用い、２つの座標系の相対位置姿勢を同次変換行列によって表現する。本明細書において、任意の座標系Ａから任意の座標系Ｂへの座標変換を表す４行４列の同次変換行列をAＴBと記述する。
【００４７】
［ロボットキャリブレーション時のロボット操作・計測］
（第１ロボット１について）
まず、第１ロボット１を動作させ、この第１ロボット１のフランジ１１を移動させて、図５の模式図に示すように、第１ロボット１のフランジ１１を基準被計測体４０の近傍に配置するとともに、そのフランジ１１に取り付けられたフランジ被計測体４１の一面を固定カメラ３に対向させる（図４のステップＳＴ１０１）。この状態で、固定カメラ３を駆動して、基準被計測体４０の４点の計測点４ａ・・４ａおよびフランジ被計測体４１の４点の計測点４ａ・・４ａを計測する（図４のステップＳＴ１０２）。
【００４８】
このようにして基準被計測体４０の４点の計測点４ａ・・４ａおよびフランジ被計測体４１の４点の計測点４ａ・・４ａを固定カメラ３で計測することにより、そのカメラ計測データから、基準被計測体４０とフランジ被計測体４１との位置姿勢関係（Ｘ軸、Ｙ軸、Ｚ軸の各軸の位置関係、および、Ｘ軸回り、Ｙ軸回り、Ｚ軸回りの姿勢の関係）を得ることができる。このカメラ計測データから基準被計測体４０とフランジ被計測体４１との位置姿勢関係を求める計算は計算処理部１１３において実行される。
【００４９】
ここで、固定カメラ３（ロボットカメラ２２も含む）が計測する計測点については、点間距離が既知で同一線上にない３点の計測点があれば上記した６変数の計測が可能である。本実施形態では、基準被計測体４０およびフランジ被計測体４１の各面にそれぞれ４点の計測点４ａ・・４ａを形成しているので、６変数の計測が可能であるとともに、その６変数の計測精度を高めることができる。
【００５０】
なお、以上の固定カメラ３による第１ロボット１の計測を行った後、第１ロボット１のフランジ１１を、第２ロボット２と干渉しない場所に退避しておく。
【００５１】
（第２ロボット２について）
次に、第２ロボット２を動作させ、この第２ロボット２のフランジ２１を移動させて、図６の模式図に示すように、第２ロボット２のフランジ２１を、基準被計測体４０の近傍に配置するとともに、そのフランジ２１に取り付けられたフランジ被計測体４２の一面を固定カメラ３に対向させる（図４のステップＳＴ１０３）。この状態で、固定カメラ３を駆動して、基準被計測体４０の４点の計測点４ａ・・４ａおよびフランジ被計測体４２の４点の計測点４ａ・・４ａを計測する（図４のステップＳＴ１０４）。
【００５２】
このように基準被計測体４０の４点の計測点４ａ・・４ａおよびフランジ被計測体４２の４点の計測点４ａ・・４ａを固定カメラ３で計測することにより、そのカメラ計測データから基準被計測体４０とフランジ被計測体４２との位置姿勢関係（Ｘ軸、Ｙ軸、Ｚ軸の各軸の位置関係、および、Ｘ軸回り、Ｙ軸回り、Ｚ軸回りの姿勢の関係）を得ることができる。このカメラ計測データから基準被計測体４０とフランジ被計測体４２との位置姿勢関係を求める計算は計算処理部１１３において実行される。
【００５３】
［位置姿勢・誤差の計算］
次に、本実施形態において、制御装置１００の計算処理部１１３が実行する位置姿勢の計算処理および誤差の計算処理について図７を参照して説明する。
【００５４】
（第１ロボット１について）
以下の説明では、第１ロボット１のベース１ａの基準点を原点とする座標系をＲＢ１座標系という。また、第１ロボット１のフランジ被計測体４１の座標系をＦＣ１座標系という。
【００５５】
まず、図７において、仮想の原点［０］の座標系から見た第１ロボット１の設計上の設置位置姿勢は0ＴiRB1と表すことができる。設計上のＲＢ１座標系から見た第１ロボット１の実際の設置位置姿勢はiRB1ＴrRB1と表すことができる。このiRB1ＴrRB1は、第１ロボット１の設計上の設置位置姿勢と実際の設置位置姿勢との誤差であり未知である。実際のＲＢ１座標系から見たフランジ被計測体４１の位置姿勢はrRB1ＴFC1と表すことができる。ＦＣ１座標系から見た基準被計測体４０の位置姿勢はFC1ＴTCと表すことができる。
【００５６】
一方、仮想の原点［０］の座標系から見た基準被計測体４０の位置姿勢は0ＴTCと表すことができる。
【００５７】
そして、以上の0ＴiRB1、iRB1ＴrRB1、rRB1ＴFC1、FC1ＴTCと、0ＴTCとについて下記の（１）式の関係が成立する。
【００５８】
【数１】
2018176388.tif 000003
【００５９】
この（１）式から、未知のiRB1ＴrRB1は、
【００６０】
【数２】
2018176388.tif 000004
【００６１】
と表すことができ、この（２）式から、第１ロボット１の設計上の設置位置姿勢と実際の設置位置姿勢との誤差iRB1ＴrRB1（以下、第１ロボット１の誤差iRB1ＴrRB1ともいう）を計算することができる。
【００６２】
ここで、0ＴiRB1は設計上の正寸値（例えば、ＣＡＤ（Computer Aided Design）データの正寸データ）であり既知である。
【００６３】
rRB1ＴFC1は、固定カメラ３で第１ロボット１のフランジ被計測体４１を計測したときのフランジ被計測体４１のロボット座標系（第１ロボット１のベース１ａの基準点を原点とするロボット座標系）における位置姿勢であって、ロボット制御部１１１の６変数の各データ（第１ロボット１のフランジ１１の代表点の６変数の各データ）、および第１ロボット１のフランジ１１の代表点とフランジ被計測体４１との位置姿勢関係（既知）から計算することができる。
【００６４】
FC1ＴTCは、上記カメラ計測データから計算される基準被計測体４０とフランジ被計測体４１との位置姿勢関係から計算することができる。0ＴTCは、設計上の正寸値（例えば、ＣＡＤデータの正寸データ）であり既知である。
【００６５】
そして、計算処理部１１３は、上記（２）式から第１ロボット１の誤差iRB1ＴrRB1を計算し、その計算した第１ロボット１の誤差iRB1ＴrRB1をＲＡＭ１３０に記憶する。
【００６６】
さらに、計算処理部１１３は、以上のようにして計算した第１ロボット１の誤差iRB1ＴrRB1を補正量として用いて第１ロボット１の実際の設置位置姿勢を計算する（図４のステップＳＴ１０５）。このような計算を行うことにより、第１ロボット１のフランジ１１の代表点の実際の設置位置姿勢を設計上の設置位置姿勢に合わせることができる。
【００６７】
（第２ロボット２について）
以下の説明では、第２ロボット２のベース２ａの基準点を原点とする座標系をＲＢ２座標系という。また、第２ロボット２のフランジ被計測体４２の座標系をＦＣ２座標系という。
【００６８】
まず、図７において、仮想の原点［０］の座標系から見た第２ロボット２の設計上の設置位置姿勢は0ＴiRB2と表すことができる。設計上のＲＢ２座標系から見た第２ロボット２の実際の設置位置姿勢はiRB2ＴrRB2と表すことができる。このiRB2ＴrRB2は、第２ロボット２の設計上の設置位置姿勢と実際の設置位置姿勢との誤差であり未知である。実際のＲＢ２座標系から見たフランジ被計測体４２の位置姿勢はrRB2ＴFC2と表すことができる。ＦＣ２座標系から見た基準被計測体４０の位置姿勢はFC2ＴTCと表すことができる。
【００６９】
一方、仮想の原点［０］の座標系から見た基準被計測体４０の位置姿勢は0ＴTCと表すことができる。
【００７０】
そして、以上の0ＴiRB2、iRB2ＴrRB2、rRB2ＴFC2、FC2ＴTCと、0ＴTCとについて下記の（３）式の関係が成立する。
【００７１】
【数３】
2018176388.tif 000005
【００７２】
この（３）式から、未知のiRB2ＴrRB2は、
【００７３】
【数４】
2018176388.tif 000006
【００７４】
と表すことができ、この（４）式から、第２ロボット２の設計上の設置位置姿勢と実際の設置位置姿勢との誤差iRB2ＴrRB2（以下、第２ロボット２の誤差iRB2ＴrRB2ともいう）を計算することができる。
【００７５】
ここで、0ＴiRB2は設計上の正寸値（例えばＣＡＤデータの正寸データ）であり既知である。
【００７６】
rRB2ＴFC2は、固定カメラ３で第２ロボット２のフランジ被計測体４２を計測したときのフランジ被計測体４２のロボット座標系（第２ロボット２のベース１ａの基準点を原点とするロボット座標系）における位置姿勢であって、ロボット制御部１１１の６変数の各データ（第２ロボット２のフランジ２１の代表点の６変数の各データ）、および第２ロボット２のフランジ２１の代表点とフランジ被計測体４２との位置姿勢関係（既知）から計算することができる。
【００７７】
FC2ＴTCは、上記カメラ計測データから計算される基準被計測体４０とフランジ被計測体４２との位置姿勢関係から計算することができる。0ＴTCは、設計上の正寸値（例えばＣＡＤデータの正寸データ）であり既知である。
【００７８】
そして、計算処理部１１３は、上記（４）式から第２ロボット２の誤差iRB2ＴrRB2を計算し、その計算した第２ロボット２の誤差iRB2ＴrRB2をＲＡＭ１３０に記憶する。
【００７９】
さらに、計算処理部１１３は、以上のようにして計算した第２ロボット２の誤差iRB2ＴrRB2を補正量として用いて第２ロボット２のフランジ２１の実際の設置位置姿勢を計算する（図４のステップＳＴ１０５）。このような計算を行うことにより、第２ロボット２のフランジ２１の代表点の実際の設置位置姿勢を設計上の設置位置姿勢に合わせることができる。
【００８０】
（協調作業について）
以上の第１ロボット１についての計算および第２ロボット２についての計算では、１つの工程Ｓ内に設置した同一の基準被計測体４０を計測してロボット誤差を計算しているので、仮想の原点［０］の座標系から見た基準被計測体４０の位置姿勢（0ＴTC）は同じとなる。これにより、上記（１）式の左辺と（３）式の左辺とは等しくなるので、下記の（５）式の関係が成立する。
【００８１】
【数５】
2018176388.tif 000007
【００８２】
この（５）式から、rRB1ＴFC1とrRB2ＴFC2との関係は下記の（６）式で表すことができる。
【００８３】
【数６】
2018176388.tif 000008
【００８４】
このように、rRB1ＴFC1とrRB2ＴFC2とは双方から表現することができるので、そのrRB1ＴFC1とrRB2ＴFC2との関係に基づいて、第１ロボット１と第２ロボット２との設置位置姿勢の関係をキャリブレーションすることにより、第１ロボット１の座標系と第２ロボット２の座標系とを仮想空間上で一致させることができる。これにより、例えば、第２ロボット２のフランジ２１の代表点を作業点に移動させる作業データまたは計測データを制御装置１００に指令すると、その第２ロボット２の動作に協調して第１ロボット１が動作するようになる。したがって、第１ロボット１については、作業データや計測データを設定する必要がなくなるので工作設備工程Ｓの作業効率を向上させることができる。
【００８５】
（効果）
以上のように、本実施形態によれば、１つの工作設備工程Ｓ内に設置された第１ロボット１および第２ロボット２の各フランジ被計測体４１，４２と、基準被計測体４０とを固定カメラ３にて計測し、そのカメラ計測データを用いて制御装置１００において第１ロボット１の誤差iRB1ＴrRB1および第２ロボット２の誤差iRB2ＴrRB2を計算するので、第１ロボット１および第２ロボット２のキャリブレーションをオンラインで行うことができる。これにより、２台のロボットをそれぞれ個別にキャリブレーションを行う場合と比較して、キャリブレーションに要する時間を短くすることができるので、工作設備工程Ｓの全体のキャリブレーション時間を短縮することができる。
【００８６】
しかも、本実施形態では、１つの工作設備工程Ｓ内に設置された第１ロボット１の座標系と第２ロボット２の座標系とを仮想空間上で一致させることができるので、第１ロボット１と第２ロボット２との協調作業が可能になる。
【００８７】
−ロボットカメラキャリブレーション−
この実施形態では、第２ロボット２のフランジ２１に取り付けられたロボットカメラ２２のカメラツール点の位置姿勢誤差を計算する。その詳細について図１および図８〜図１０を参照して説明する。なお、ロボットカメラ２２のカメラツール点が、本発明の「特定のロボットのロボット手先計測装置の計測ツール点」の一例である。
【００８８】
［キャリブレーション時のロボット操作・計測］
第２ロボット２を動作させ、この第２ロボット２のフランジ２１を移動させて、図９の模式図に示すように、第２ロボット２のフランジ２１を基準被計測体４０の近傍に配置するとともに、そのフランジ２１に取り付けられたロボットカメラ２２を基準被計測体４０に対向させる（図８のステップＳＴ２０１）。この状態で、ロボットカメラ２２を駆動して、基準被計測体４０の４点の計測点４ａ・・４ａを計測する（図８のステップＳＴ２０２）。
【００８９】
このように基準被計測体４０の４点の計測点４ａ・・４ａをロボットカメラ２２で計測することにより、そのカメラ計測データからロボットカメラ２２のカメラツール点と基準被計測体４０との位置姿勢関係（Ｘ軸、Ｙ軸、Ｚ軸の各軸の位置関係、および、Ｘ軸回り、Ｙ軸回り、Ｚ軸回りの姿勢の関係）を得ることができる。このカメラ計測データからロボットカメラ２２のカメラツール点と基準被計測体４０との位置姿勢関係を求める計算は計算処理部１１３において実行される。
【００９０】
［位置姿勢・誤差の計算］
次に、この実施形態において、制御装置１００の計算処理部１１３が実行する位置姿勢の計算処理および誤差の計算処理について図１０を参照して説明する。
【００９１】
以下の説明では、第２ロボット２のベース２ａの基準点を原点とする座標系をＲＢ２座標系、第２ロボット２のフランジ２１に取り付けられたロボットカメラ２２のカメラツール点を原点とする座標系をカメラ座標系という。また、基準被計測体４０の座標系をＴＣ座標系という。
【００９２】
図１０において、仮想の原点［０］の座標系から見た第２ロボット２の設計上の設置位置姿勢は0ＴiRB2と表すことができる。設計上のＲＢ２座標系から見た第２ロボット２の実際の設置位置姿勢はiRB2ＴrRB2と表すことができる。
【００９３】
実際のＲＢ２座標系から見たロボットカメラ２２のカメラツール点の設計上の設置位置姿勢はrRB2ＴiCamと表すことができる。設計上のカメラ座標系から見たロボットカメラ２２のカメラツール点の実際の設置位置姿勢はiCamＴrCamと表すことができる。このiCamＴrCamは、ロボットカメラ２２のカメラツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差であり未知である。そして、実際のカメラ座標系から見た基準被計測体４０の位置姿勢はrCamＴTCとなる。
【００９４】
一方、仮想の原点［０］の座標系から見た基準被計測体４０の位置姿勢は0ＴTCと表すことができる。
【００９５】
そして、以上の0ＴiRB2、iRB2ＴrRB2、rRB2ＴiCam、iCamＴrCam、rCamＴTCと、0ＴTCとについて下記の（７）式の関係が成立する。
【００９６】
【数７】
2018176388.tif 000009
【００９７】
この（７）式から、未知のiCamＴrCamは、
【００９８】
【数８】
2018176388.tif 000010
【００９９】
と表すことができ、この（８）式から、第２ロボット２のフランジ２１に取り付けたロボットカメラ２２のカメラツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差iCamＴrCam（以下、ロボットカメラ２２の誤差iCamＴrCamともいう）を計算することができる。
【０１００】
ここで、0ＴiRB2は、設計上の正寸値（例えばＣＡＤデータの正寸データ）であり既知である。
【０１０１】
rRB2ＴiCamは、ロボットカメラ２２で基準被計測体４０を計測したときのロボットカメラ２２の設計上のカメラツール点のロボット座標系（第２ロボット２のベース２ａの基準点を原点とするロボット座標系）における位置姿勢であって、ロボット制御部１１１の６変数の各データ（第２ロボット２のフランジ２１の代表点の６変数の各データ）、および第２ロボット２のフランジ２１の代表点とロボットカメラ２２の設計上のカメラツール点との位置姿勢関係（既知）から計算することができる。
【０１０２】
rCamＴTCは、上記カメラ計測データから計算されるロボットカメラ２２のカメラツール点と基準被計測体４０との位置姿勢関係から計算することができる。0ＴTCは、設計上の正寸値（例えばＣＡＤデータの正寸データ）であり既知である。iRB2ＴrRB2については、上記［ロボットキャリブレーション］において（４）式から計算した計算済みの値を用いることができる。
【０１０３】
そして、計算処理部１１３は、上記（８）式からロボットカメラ２２の誤差iCamＴrCamを計算する（図８のステップＳＴ２０３）。その計算したロボットカメラ２２の誤差iCamＴrCamをＲＡＭ１３０に記憶する。
【０１０４】
さらに、計算処理部１１３は、以上のようにして計算したロボットカメラ２２の誤差iCamＴrCamを補正量として用いてロボットカメラ２２のカメラツール点の実際の設置位置姿勢を計算する（図８のステップＳＴ２０４）。このような計算を行うことにより、ロボットカメラ２２のカメラツール点の実際の設置位置姿勢を設計上の設置位置姿勢に合わせることができる。
【０１０５】
この実施形態によれば、第２ロボット２のフランジ２１に取り付けたロボットカメラ２２にて基準被計測体４０を計測したカメラ計測データ、ロボット制御部１１１の６変数の各データ、および、上記［ロボットキャリブレーション］において計算済みの第２ロボット２の誤差iRB2ＴrRB2を用いて、ロボットカメラ２２の誤差iCamＴrCamを計算しているので、第２ロボット２のロボットカメラ２２の設置位置姿勢のキャリブレーションを容易にかつ短い時間で行うことができる。
【０１０６】
−ナットランナキャリブレーション−
この実施形態では、第２ロボット２のフランジ２１に取り付けられたナットランナ２３のナットランナツール点の位置姿勢誤差を計算する。その詳細について図１および図１１〜図１３を参照して説明する。なお、ナットランナ２３のナットランナツール点が、本発明の「特定のロボットの作業ツールの作業ツール点」の一例である。
【０１０７】
［ナットランナキャリブレーション時のロボット操作・計測］
第２ロボット２を動作させ、この第２ロボット２のフランジ２１を移動させて、図１２の模式図に示すように、第２ロボット２のフランジ２１を基準被計測体４０の近傍に配置するとともに、そのフランジ２１に取り付けられたナットランナ２３を固定カメラ３に対向させる（図１１のステップＳＴ３０１）。この状態で、固定カメラ３を駆動してナットランナ２３の先端および基準被計測体４０を計測する。具体的には、固定カメラ３によって、ナットランナ２３のナットランナツール点（ナットランナ２３の先端の中心点）に対する位置姿勢が既知の３点を計測する（例えば、ナットランナ２３の先端の角部の稜線から同一直線上にない３点を計測する）とともに、基準被計測体４０の４点の計測点４ａ・・４ａを計測する（図１１のステップＳＴ３０２）。
【０１０８】
このようにナットランナ２３の先端および基準被計測体４０の４点の計測点４ａ・・４ａを固定カメラ３で計測することにより、そのカメラ計測データからナットランナ２３の先端と基準被計測体４０との位置姿勢関係（Ｘ軸、Ｙ軸、Ｚ軸の各軸の位置関係、および、Ｘ軸回り、Ｙ軸回り、Ｚ軸回りの姿勢の関係）を得ることができる。このカメラ計測データからナットランナ２３の先端と基準被計測体４０との位置姿勢関係を求める計算は計算処理部１１３においてに実行される。
【０１０９】
なお、ナットランナ２３に図３に示す被計測体４を取り付けておき、そのナットランナ２３の被計測体４の４点の計測点４ａ・・４ａ、および基準被計測体４０の４点の計測点４ａ・・４ａを固定カメラ３にて計測して、カメラ計測データ（６変数の各計測データ）を得るようにしてもよい。
【０１１０】
［位置姿勢・誤差の計算］
次に、この実施形態において、制御装置１００の計算処理部１１３が実行する位置姿勢の計算処理および誤差の計算処理について図１３を参照して説明する。
【０１１１】
以下の説明では、第２ロボット２の第２ロボット２のベース２ａの基準点を原点とする座標系をＲＢ２座標系、第２ロボット２のフランジ２１に取り付けられたナットランナ２３のナットランナツール点を原点とする座標系をナットランナ座標系という。また、基準被計測体４０の座標系をＴＣ座標系という。
【０１１２】
図１３において、仮想の原点［０］の座標系から見た第２ロボット２の設計上の設置位置姿勢は0ＴiRB2と表すことができる。設計上のＲＢ２座標系から見た第２ロボット２の実際の設置位置姿勢はiRB2ＴrRB2と表すことができる。実際のＲＢ２座標系から見たナットランナツール点の設計上の設置位置姿勢はrRB2ＴiNutと表すことができる。カメラ座標系から見たナットランナツール点の実際の設置位置姿勢はiNutＴrNutと表すことができる。このiNutＴrNutは、ナットランナ２３のナットランナツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差であり未知である。
【０１１３】
一方、仮想の原点［０］の座標系から見た基準被計測体４０の位置姿勢は0ＴTCと表すことができる。ＴＣ座標系から見たナットランナ２３のナットランナツール点の実際の設置位置姿勢はTCＴrNutと表すことができる。
【０１１４】
そして、以上の0ＴiRB2、iRB2ＴrRB2、rRB2ＴiNut、iNutＴrNut、と、0ＴTC、TCＴrNutとについて下記の（９）式の関係が成立する。
【０１１５】
【数９】
2018176388.tif 000011
【０１１６】
この（９）式から、未知のiNutＴrNutは、
【０１１７】
【数１０】
2018176388.tif 000012
【０１１８】
と表すことができ、この（１０）式から、第２ロボット２のフランジ２１に取り付けたナットランナ２３のナットランナツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差iNutＴrNut（以下、ナットランナ２３の誤差iNutＴrNutともいう）を計算することができる。
【０１１９】
ここで、0ＴiRB2は、設計上の正寸値（例えばＣＡＤデータの正寸データ）であり既知である。
【０１２０】
rRB2ＴiNutは、固定カメラ３でナットランナ２３を計測したときのナットランナ２３の設計上のナットランナツール点のロボット座標系（第２ロボット２のベース２ａの基準点を原点とするロボット座標系）における位置姿勢であって、ロボット制御部１１１の６変数の各データ（第２ロボット２のフランジ２１の代表点の６変数の各データ）、および第２ロボット２のフランジ２１の代表点とナットランナ２３の設計上のナットランナツール点との位置姿勢関係（既知）から計算することができる。
【０１２１】
TCＴrNutは、上記カメラ計測データから計算されるナットランナ２３の先端と基準被計測体４０との位置姿勢関係から計算することができる。0ＴTCは、設計上の正寸値（例えばＣＡＤデータの正寸データ）であり既知である。iRB2ＴrRB2については、上記［ロボットキャリブレーション］において（４）式から計算した計算済みの値を用いることができる。
【０１２２】
そして、計算処理部１１３は、上記（１０）式からナットランナ２３の誤差iNutＴrNutを計算する（図１１のステップＳＴ３０３）。その計算したナットランナ２３の誤差iNutＴrNutをＲＡＭ１３０に記憶する。
【０１２３】
さらに、計算処理部１１３は、以上のようにして計算したナットランナ２３の誤差iNutＴrNutを補正量として用いてナットランナ２３のナットランナツール点の実際の設置位置姿勢を計算する（図１１のステップＳＴ３０４）。このような計算を行うことにより、ナットランナ２３のナットランナツール点の実際の設置位置姿勢を設計上の設置位置姿勢に合わせることができる。
【０１２４】
この実施形態によれば、第２ロボット２のフランジ２１に取り付けたナットランナ２３の先端を固定カメラ３にて計測したカメラ計測データ、ロボット制御部１１１の６変数の各データ、および上記［ロボットキャリブレーション］において計算済みの第２ロボット２の誤差iRB2ＴrRB2を用いて、ナットランナ２３の誤差iNutＴrNutを計算しているので、第２ロボット２のナットランナ２３の設置位置姿勢のキャリブレーションを容易にかつ短い時間で行うことができる。
【０１２５】
−マテハンキャリブレーション−
図１および図１５に示すように、マテハン１２には図３に示す被計測体４が取り付けられている。以下、マテハン１２に取り付けられた被計測体４をマテハン被計測体４４という。マテハン被計測体４４はマテハン１２に対して相対的に位置決めされており、そのマテハン１２のマテハンツール点とマテハン被計測体４４の各面の４点の計測点４ａ・・４ａとの位置姿勢関係は既知である。なお、マテハン１２のマテハンツール点が、本発明の「他のロボットの作業ツール点」の一例である。
【０１２６】
この実施形態にあっては、第１ロボット１のフランジ１１に取り付けられたマテハン１２のマテハンツール点の位置姿勢誤差を計算する。その詳細について図１および図１４〜図１６を参照して説明する。
【０１２７】
［マテハンキャリブレーション時のロボット操作・計測］
第２ロボット２を動作させ、この第２ロボット２のフランジ２１を移動させて、図１５の模式図に示すように、第２ロボット２のロボットカメラ２２を第１ロボット１のマテハン１２と対向する位置に配置する（図１４のステップＳＴ４０１）。この状態で、ロボットカメラ２２を駆動して、マテハン１２のマテハン被計測体４４の４点の計測点４ａ・・４ａを計測する（図１４のステップＳＴ４０２）。
【０１２８】
このようにマテハン被計測体４４の４点の計測点４ａ・・４ａをロボットカメラ２２で計測することにより、そのカメラ計測データから、ロボットカメラ２２のカメラツール点とマテハン被計測体４４との位置姿勢関係（Ｘ軸、Ｙ軸、Ｚ軸の各軸の位置関係、および、Ｘ軸回り、Ｙ軸回り、Ｚ軸回りの姿勢の関係）を得ることができる。このカメラ計測データからロボットカメラ２２のカメラツール点とマテハン被計測体４４との位置姿勢関係を求める計算は計算処理部１１３において実行される。
【０１２９】
なお、マテハン１２にマテハン被計測体４４を設けない場合、マテハン１２の特定点（マテハンツール点に対して位置姿勢が既知の３点以上の計測点）を第２ロボット２のロボットカメラ２２にて計測してカメラ計測データ（６変数の各データ）を得るようにしてもよい。
【０１３０】
［位置姿勢・誤差の計算］
次に、この実施形態において、制御装置１００の計算処理部１１３が実行する位置姿勢の計算処理および誤差の計算処理について図１６を参照して説明する。
【０１３１】
以下の説明では、第１ロボット１のベース１ａの基準点を原点とする座標系をＲＢ１座標系、第２ロボット２のベース２ａの基準点を原点とする座標系をＲＢ２座標系という。第１ロボット１のフランジ１１に取り付けられたマテハン１２のマテハンツール点を原点とする座標系をマテハン座標系、第２ロボット２のフランジ２１に取り付けられたロボットカメラ２２のカメラツール点を原点とする座標系をカメラ座標系という。
【０１３２】
まず、図１６において、仮想の原点［０］の座標系から見た第１ロボット１のフランジ１１の設置位置姿勢は0ＴiRB1と表すことができる。設計上のＲＢ１座標系から見た第１ロボット１の実際の設置位置姿勢はiRB1ＴrRB1と表すことができる。実際のＲＢ１座標系から見たマテハン１２のマテハンツール点の設計上の設置位置姿勢はrRB1ＴiMatHandと表すことができる。そして、設計上のマテハン座標系から見たマテハン１２のマテハンツール点の実際の設置位置姿勢はiMatHanＴrMatHandと表すことができる。このiMatHanＴrMatHandは、マテハン１２のマテハンツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差であり未知である。
【０１３３】
一方、仮想の原点［０］の座標系から見た第２ロボット２の設計上の設置位置姿勢は0ＴiRB2と表すことができる。設計上のＲＢ２座標系から見た第２ロボット２の実際の設置位置姿勢はiRB2ＴrRB2と表すことができる。実際のＲＢ２座標系から見た第２ロボット２のロボットカメラ２２の設計上の設置位置姿勢はrRB2ＴiCamと表すことができる。設計上のカメラ座標系から見たロボットカメラ２２のカメラ点の実際の設置位置姿勢はiCamＴrCamと表すことができる。実際のカメラ座標から見たマテハン１２のマテハンツール点の実際の設置位置姿勢はrCamＴrMatHandと表すことができる。
【０１３４】
そして、以上の0ＴiRB1、iRB1ＴrRB1、rRB1ＴiMatHand、iMatHanＴrMatHandと、0ＴiRB2、iRB2ＴrRB2、rRB2ＴiCam、iCamＴrCam、rCamＴrMatHandとについて下記の（１１）式の関係が成立する。
【０１３５】
【数１１】
2018176388.tif 000013
【０１３６】
この（１１）式から、未知のiMatHanＴrMatHandは、
【０１３７】
【数１２】
2018176388.tif 000014
【０１３８】
と表すことができ、この（１２）式から、第１ロボット１のフランジ１１に取り付けたマテハン１２のマテハンツール点の設計上の設置位置姿勢と実際の設置位置姿勢との誤差iMatHanＴrMatHand（以下、マテハン１２の誤差iMatHanＴrMatHandともいう）を計算することができる。
【０１３９】
ここで、0ＴiRB1、0ＴiRB2は、設計上の正寸値（例えばＣＡＤデータの正寸データ）であり既知である。
【０１４０】
rRB1ＴiMatHandは、マテハン被計測体４４のロボット座標系（第１ロボット１のベース１ａの基準点を原点とするロボット座標系）における位置姿勢であって、ロボット制御部１１１の６変数の各データ（第１ロボット１のフランジ１１の代表点の６変数の各データ）、および第１ロボット１のフランジ１１の代表点とマテハン被計測体４４との位置姿勢関係（既知）から計算することができる。
【０１４１】
rRB2ＴiCamは、ロボットカメラ２２によってマテハン被計測体４４を計測したときのロボットカメラ２２の設計上のカメラツール点のロボット座標系（第２ロボット２のベース２ａの基準点を原点とするロボット座標系）における位置姿勢であって、ロボット制御部１１１の６変数の各データ（第２ロボット２のフランジ２１の代表点の６変数の各データ）、および第２ロボット２のフランジ２１の代表点とロボットカメラ２２の設計上のカメラツール点との位置姿勢関係（既知）から計算することができる。
【０１４２】
rCamＴrMatHandは、上記カメラ計測データから計測されるロボットカメラ２２のカメラツール点とマテハン被計測体４４との位置姿勢関係から計算することができる。
【０１４３】
そして、iRB1ＴrRB1については、上記［ロボットキャリブレーション］において（２
）式から計算した計算済みの値を用いることができる。iRB2ＴrRB2については、上記［ロボットキャリブレーション］において（４）式から計算した計算済みの値を用いることができる。iCamＴrCamについては、上記［ロボットカメラキャリブレーション］において（８）式から計算した計算済みの値を用いることができる。
【０１４４】
そして、計算処理部１１３は、上記（１２）式からマテハン１２の誤差iMatHanＴrMatHandを計算する（図１４のステップＳＴ４０３）。その計算したマテハン１２の誤差iMatHanＴrMatHandをＲＡＭ１３０に記憶する。
【０１４５】
さらに、計算処理部１１３は、以上のようにして計算したマテハン１２の誤差iMatHanＴrMatHandを補正量として用いてマテハン１２のマテハンツール点の実際の設置位置姿勢を計算する（図１４のステップＳＴ４０４）。このような計算を行うことにより、マテハン１２のマテハンツール点の実際の設置位置姿勢を設計上の設置位置姿勢に合わせることができる。
【０１４６】
この実施形態によれば、第２ロボット２のロボットカメラ２２にて第１ロボット１のマテハン１２を計測したカメラ計測データ、ロボット制御部１１１の６変数の各データ、ならびに上記［ロボットキャリブレーション］において計算済みの第１ロボット１の誤差iRB1ＴrRB1および第２ロボット２の誤差iRB2ＴrRB2を用いて、マテハン１２の誤差iMatHanＴrMatHandを計算しているので、第１ロボット１のマテハン１２の設定位置姿勢のキャリブレーションを容易にかつ短い時間で行うことができる。
【０１４７】
−他の実施形態−
なお、今回開示した実施形態は、すべての点で例示であって、限定的な解釈の根拠となるものではない。したがって、本発明の技術的範囲は、上記した実施形態のみによって解釈されるものではなく、特許請求の範囲の記載に基づいて画定される。また、本発明の技術的範囲には、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
【０１４８】
例えば、以上の実施形態では、第２ロボット２のフランジ２１にナットランナを取り付けているが、これに限られることなく、例えば溶接ツールやねじ締付ツールなどの他の作業ツールを第２ロボット２のフランジ２１に取り付けてもよい。また、第１ロボット１についても、マテハン１２以外の他の作業ツールを取り付けてもよい。
【０１４９】
以上の実施形態では、１つの工程内に設置された２台のロボットのキャリブレーションに本発明を適用した例について説明したが、本発明はこれに限られることなく、１つの工程に設置された３台以上のロボットのキャリブレーションにも適用可能である。
【０１５０】
この場合、３台以上の複数のロボットについて、上記した［ロボットキャリブレーション］を行うことにより、３台以上の複数のロボットのキャリブレーションをオンラインで行うことができる。これによってキャリブレーションに要する時間を短くすることができる。さらに、３台以上の複数のロボットについて、上記（６）式と同様な計算処理を行うことにより、全てのロボットの座標系を仮想空間上で一致させることができる。これにより、特定のロボット動作に協調して他の複数のロボットを動作させることが可能になる。
【産業上の利用可能性】
【０１５１】
本発明は、１つの工程内に設置される複数のロボットに対してキャリブレーションを行うキャリブレーション装置に有効に利用することができる。
【符号の説明】
【０１５２】
Ｓ  工作設備工程
１  第１ロボット
１１  フランジ
１２  マテリアルハンド（マテハン）
２  第２ロボット
２１  フランジ
２２  ロボットカメラ（ロボット手先計測装置）
２３  ナットランナ
３  固定カメラ（固定計測装置）
４  被計測体
４ａ  計測点
４０  基準被計測体
４１  フランジ被計測体
４２  フランジ被計測体
４４  マテハン被計測体
１００  制御装置
１１１  ロボット制御部
１１２  カメラ制御部
１１３  計算処理部
【図１】
2018176388.tif 000015
【図２】
2018176388.tif 000016
【図３】
2018176388.tif 000017
【図４】
2018176388.tif 000018
【図５】
2018176388.tif 000019
【図６】
2018176388.tif 000020
【図７】
2018176388.tif 000021
【図８】
2018176388.tif 000022
【図９】
2018176388.tif 000023
【図１０】
2018176388.tif 000024
【図１１】
2018176388.tif 000025
【図１２】
2018176388.tif 000026
【図１３】
2018176388.tif 000027
【図１４】
2018176388.tif 000028
【図１５】
2018176388.tif 000029
【図１６】
2018176388.tif 000030