(57)【要約】【課題】複数のパターンが印刷されたキャリブレーション・オブジェクトを準備することなく、キャリブレーションを可能とするキャリブレーション方法を提供する。【解決手段】表示装置Ｄと、撮像装置Ｓと、表示装置Ｄまたは撮像装置Ｓのいずれか一方が固定され、駆動軸を有するロボットアームＲと、を備えたロボットシステムにおいて、撮像装置Ｓの座標系とロボットアームＲの座標系とをキャリブレーションする方法である。第１の画像データに基づいて、第１の撮像データを取得するステップと、第１の画像データとは異なる第２の画像データに基づいて、第２の撮像データを取得するステップと、第１の撮像データ及び第２の撮像データを用いて、撮像装置Ｓの座標系とロボットアームＲの座標系とをキャリブレーションするステップと、を含む。【選択図】図１
2019030943.tif 000002
【特許請求の範囲】
【請求項１】
表示装置と、撮像装置と、前記表示装置または前記撮像装置のいずれか一方が固定され、駆動軸を有するロボットアームと、を備えたロボットシステムにおいて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションする方法であって、
第１の画像データに基づいて、前記表示装置に第１の画像を表示させるステップと、
前記撮像装置を用いて、前記表示装置に表示された前記第１の画像を撮像して、第１の撮像データを取得するステップと、
前記第１の画像データとは異なる第２の画像データに基づいて、前記表示装置に第２の画像を表示させるステップと、
前記撮像装置を用いて、前記表示装置に表示された前記第２の画像を撮像して、第２の撮像データを取得するステップと、
前記第１の撮像データ及び前記第２の撮像データを用いて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションするステップと、を含むキャリブレーション方法。
【請求項２】
前記第１の画像データと前記第２の画像データとは、表示される画像のパターンを示すデータ、または、表示される画像の明るさを示すデータ、が異なることを特徴とする請求項１に記載のキャリブレーション方法。
【請求項３】
前記第１の画像データと前記第２の画像データとは、表示される画像のパターンを示すデータであって、前記表示装置に表示する画像の少なくとも１つの画素の色に関するデータ、が異なることを特徴とする、請求項１または２に記載のキャリブレーション方法。
【請求項４】
前記第１の撮像データを取得した後に、前記ロボットアームを用いて、前記表示装置と前記撮像装置との相対位置を変更するステップを更に含み、
前記相対位置を変更するステップの後に、前記第２の撮像データを取得するステップを実行する請求項１から３のいずれか一項に記載のキャリブレーション方法。
【請求項５】
前記第１の画像を表示させるステップと、前記第２の画像を表示させるステップと、において、
前記第１の画像データまたは前記第２の画像データは、表示される前記第１の画像または前記第２の画像のパターンの大きさが、前記ロボットアームの先端の座標に応じて変更されるように構成される請求項１から４のいずれか一項に記載のキャリブレーション方法。
【請求項６】
前記第１の画像を表示させるステップと、前記第２の画像を表示させるステップと、において、
前記第１の画像データまたは前記第２の画像データは、表示される前記第１の画像または前記第２の画像のパターンの大きさが、前記撮像装置と前記表示装置との距離に応じて変更されるように構成される請求項１から４のいずれか一項に記載のキャリブレーション方法。
【請求項７】
前記第１の撮像データを取得した後に、前記ロボットアームを用いて、前記表示装置と前記撮像装置との相対角度を変更するステップを更に含み、
前記第１の画像データと前記第２の画像データとは、少なくとも表示される画像の明るさを示すデータが異なる請求項１から６のいずれか一項に記載のキャリブレーション方法。
【請求項８】
前記第１の撮像データを取得するステップにおける、前記表示装置に対する前記撮像装置の相対的位置姿勢と、前記第２の撮像データを取得するステップにおける、前記表示装置に対する前記撮像装置の相対的位置姿勢は、同一であることを特徴とする、請求項１から３のいずれか一項に記載のキャリブレーション方法。
【請求項９】
前記表示装置は、明るさを計測するためのセンサと、前記センサの検出値に基づいて、前記第１の画像データまたは前記第２の画像データを変更する演算部と、を備えており、
前記第１の画像を表示させるステップと、前記第２の画像を表示させるステップと、において、
前記第１の画像データまたは前記第２の画像データは、表示される前記第１の画像または第２の画像の明るさが、前記明るさを計測するためのセンサの検出値に応じて変更されるように構成される請求項１から８のいずれか一項に記載のキャリブレーション方法。
【請求項１０】
前記表示装置は、情報を入力するための入力部と、前記入力された情報に基づいて前記第１の画像データまたは前記第２の画像データを変更する演算部と、を備えており、
前記第１の画像を表示させるステップと、前記第２の画像を表示させるステップと、において、
前記第１の画像データまたは前記第２の画像データは、表示される前記第１の画像または前記第２の画像のパターンの大きさ及び明るさが、前記入力された情報に応じて変更されるように構成される請求項１から９のいずれか一項に記載のキャリブレーション方法。
【請求項１１】
前記表示装置と前記ロボットアームとは固定されており、
前記表示装置は、移動量を計測するためのセンサを備え、
前記第１の画像データまたは前記第２の画像データは、表示される前記第１の画像または前記第２の画像のパターンの大きさが、前記センサにより計測された前記移動量に基づいて決定される請求項１〜４、７、９のいずれか一項に記載のキャリブレーション方法。
【請求項１２】
前記表示装置と前記ロボットアームとは固定されており、
前記表示装置は、傾きを計測するためのセンサを備え、
前記第１の画像データ及び前記第２の画像データの少なくともいずれか一方に基づいて表示される画像の明るさを示すデータは、前記センサにより計測された前記傾きの大きさに基づいて決定される請求項１から６、８及び１１のいずれか一項に記載のキャリブレーション方法。
【請求項１３】
表示装置と、撮像装置と、前記表示装置または前記撮像装置のいずれか一方が固定され、駆動軸を有するロボットアームと、を備えたロボットシステムにおいて、前記撮像装置の座標系と前記ロボットアームの座標系とのをキャリブレーションする方法であって、
第１の画像データに基づいて、前記表示装置に第１の画像を表示させるステップと、
前記撮像装置を用いて、前記表示装置に表示された前記第１の画像を撮像して、第１の撮像データを取得するステップと、
前記第１の撮像データを用いて、前記撮像装置と前記ロボットアームとの相対的位置関係をキャリブレーションするステップと、を含むキャリブレーション方法。
【請求項１４】
前記第１の画像データは、表示される画像のパターンを示すデータ、または、表示される画像の明るさを示すデータ、が撮像環境に応じて決定されることを特徴とする請求項１３に記載のキャリブレーション方法。
【請求項１５】
表示装置と、撮像装置と、前記表示装置または前記撮像装置のいずれか一方が固定され、駆動軸を有するロボットアームと、を備えたロボットシステムにおいて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションする方法を実行するためのプログラムであって、
コンピュータに、
第１の画像データに基づいて、前記表示装置に第１の画像を表示させるステップと、
前記表示装置に表示された前記第１の画像を前記撮像装置に撮像させて第１の撮像データを取得させるステップと、
前記第１の画像データとは異なる第２の画像データに基づいて、前記表示装置に第２の画像を表示させるステップと、
前記表示装置に表示された前記第２の画像を前記撮像装置に撮像させて第２の撮像データを取得させるステップと、
前記第１の撮像データ及び前記第２の撮像データを用いて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションさせるステップと、を実行させるためのプログラム。
【請求項１６】
前記第１の画像データと前記第２の画像データとは、表示される画像のパターンを示すデータ、または、表示される画像の明るさを示すデータ、が異なることを特徴とする請求項請求項１５に記載のプログラム。
【請求項１７】
前記第１の画像データと前記第２の画像データとは、表示される画像のパターンを示すデータであって、前記表示装置に表示する画像の少なくとも１つの画素の色に関するデータ、が異なることを特徴とする、請求項１５又は１６に記載のプログラム。
【請求項１８】
第１の画像データに基づいて第１の画像を表示し、かつ、前記第１の画像データとは異なる第２の画像データに基づいて第２の画像を表示するための表示装置と、
前記第１の画像及び前記第２の画像をそれぞれ撮像して、第１の撮像データ及び第２の撮像データをそれぞれ取得するための撮像装置と、
前記表示装置または前記撮像装置のいずれか一方が固定され、駆動軸を有するロボットアームと、
前記第１の撮像データ及び前記第２の撮像データを用いて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションするための演算を行う演算部と、を備えるキャリブレーションシステム。
【請求項１９】
前記第１の画像データと前記第２の画像データとは、表示される画像のパターンを示すデータ、または、表示される画像の明るさを示すデータ、が異なることを特徴とする請求項１８に記載のキャリブレーションシステム。
【請求項２０】
前記第１の画像データと前記第２の画像データとは、表示される画像のパターンを示すデータであって、前記表示装置に表示する画像の少なくとも１つの画素の色に関するデータ、が異なることを特徴とする、請求項１８又は１９に記載のキャリブレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャリブレーション方法、キャリブレーションシステム及びプログラムに関する。
【背景技術】
【０００２】
従来より、ロボットの座標系と画像センサの座標系との間の相対的な位置姿勢のキャリブレーションを行う方法として、点（ドット）や多角形状のマークマーカが印刷された平板（キャリブレーション・オブジェクト）を画像センサにより撮像して、撮像画像に基づいてキャリブレーション演算を行う方法が知られている。
【０００３】
例えば、特許文献１には、動作にヒステリシス特性を有する多関節ロボットのキャリブレーション誤差を低減することを目的とした、キャリブレーション方法が記載されている。具体的には、ロボットの座標系と画像センサの座標系とをキャリブレーション・オブジェクトを用いてキャリブレーションする方法であって、第１の測定点で撮像装置による撮像を行い、ロボットの姿勢が異なる第２の測定点にロボットの姿勢を移行するとき、予め定められた特定の点を経由して第２の測定点に到達させるというものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１８２１４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
キャリブレーション・オブジェクトを用いてロボットの座標系と撮像装置の座標系との位置関係のキャリブレーションを行うとき、キャリブレーションの演算は、各測定点において撮像装置が取得するキャリブレーション・オブジェクトの撮像画像に基づいて行われる。したがって、キャリブレーション・オブジェクトの態様は、測定条件に応じて適切に選択されることが好ましい。
【０００６】
しかしながら、特許文献１に開示されているキャリブレーション方法は、予め定められた複数のドット及びマークマーカが印字された単一のキャリブレーション・オブジェクト（印刷物）を用いているため、撮像画像によっては、キャリブレーションの精度を担保できない場合があった。また、キャリブレーションの精度を担保するためには、複数のパターンで印字されたキャリブレーション・オブジェクトの印刷物を用意する必要がありキャリブレーションの工数が増大していた。
【０００７】
そこで本発明は、複数のパターンで印刷されたキャリブレーション・オブジェクトを準備することなく、撮像装置とロボットアームとの相対的位置関係のキャリブレーションを可能とするキャリブレーション方法、システム及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るキャリブレーション方法は、表示装置と、撮像装置と、表示装置または撮像装置のいずれか一方が固定され、駆動軸を有するロボットアームと、を備えたロボットシステムにおいて、撮像装置の座標系とロボットアームの座標系とをキャリブレーションする。そして、このキャリブレーション方法は、第１の画像データに基づいて、表示装置に第１の画像を表示させるステップと、撮像装置を用いて、表示装置に表示された第１の画像を撮像して、第１の撮像データを取得するステップと、第１の画像データとは異なる第２の画像データに基づいて、表示装置に第２の画像を表示させるステップと、撮像装置を用いて、表示装置に表示された第２の画像を撮像して、第２の撮像データを取得するステップと、第１の撮像データ及び第２の撮像データを用いて、撮像装置の座標系とロボットアームの座標系とをキャリブレーションするステップと、を含む。
【０００９】
この態様によれば、複数のパターンが印刷されたキャリブレーション・オブジェクトを準備することなく、撮像装置とロボットアームとの相対的位置関係のキャリブレーションを実行することができる。また、表示形式が異なる複数の撮像画像を用いてキャリブレーションを行うことができるので、キャリブレーションの精度を向上させることが可能になる。
【００１０】
上記態様において、第１の画像データと第２の画像データとは、表示される画像のパターンを示すデータ、または、表示される画像の明るさを示すデータ、が異なっていてもよい。
【００１１】
この態様によれば、周囲の明るさ等に応じて、キャリブレーションに適切な明るさの画像パターンを表示することが可能になる。例えば、撮像装置を用いて画像を測定するための測定点毎に、照明の角度や照度等に応じて、明るさの条件が異なる場合や、同一の測定点であっても、明るさの条件が変化する場合がある。したがって、本態様によれば、異なる明るさの条件に応じて適切な画像パターンを表示することができるので、キャリブレーションの精度を向上させることができる。
【００１２】
さらに、この態様によれば、表示する画像のパターンを異ならせることができるから、キャリブレーションの精度を向上することが可能になる。すなわち、パターンが異なる複数の撮像画像を用いてキャリブレーションを行うことができるので、キャリブレーションの精度を向上させることが可能になる。また、撮像を行う環境に応じてパターンを異ならせることができるので、キャリブレーションの精度を向上させることが可能になる。
【００１３】
上記態様において、第１の画像データと第２の画像データとは、表示される画像のパターンを示すデータであって、表示装置に表示する画像の少なくとも１つの画素の色に関するデータ、が異なっていてもよい。
【００１４】
この態様によれば、撮像データの情報を増やすことができ、キャリブレーションの精度が向上させることができる。
【００１５】
上記態様において、第１の撮像データを取得した後に、ロボットアームを用いて、表示装置と撮像装置との相対位置を変更するステップを更に含み、相対位置を変更するステップの後に、第２の撮像データを取得するステップを実行してもよい。
【００１６】
この態様によれば、相対位置が異なる位置において、異なる画像データに基づいて表示される画像をそれぞれ撮像して、撮像データを取得するように構成したから、キャリブレーションの精度を向上することができる。例えば、表示装置と撮像装置との相対位置が異なる測定点に、ロボットアームの動作させた前後において、異なる撮像データを取得してキャリブレーションの演算を行うように構成しているから、表示装置と撮像装置との相対的位置関係等の測定条件に応じた適切な画像を選択することができ、キャリブレーションの精度を向上させることができる。
【００１７】
上記態様において、第１の画像を表示させるステップと、第２の画像を表示させるステップと、において、第１の画像データまたは第２の画像データは、表示される第１の画像または第２の画像のパターンの大きさが、ロボットアームの先端の座標に応じて変更されるように構成してもよい。
【００１８】
この態様によれば、ロボットアームの先端の座標に応じて、画像パターンの大きさが異なるように画像データを変更するから、表示装置と撮像装置との相対位置関係に応じて、キャリブレーションに適切な大きさの画像パターンを表示することが可能になる。撮像装置の座標系とロボットアームの座標系とのキャリブレーションは、ロボットアームを用いた対象物に対する所定の処理（例えば、対象物の把持、吸着、嵌め合い、巻き付け、等）の精度を向上させるために行われる。したがって、対象物に作用するロボットアームの先端の座標に応じて、画像パターンの大きさが異なるように画像データを変更し、異なる画像パターンに基づく複数種類の撮像画像を用いてキャリブレーションを行うことで、キャリブレーションの精度を向上させることができる。
【００１９】
上記態様において、第１の画像を表示させるステップと、第２の画像を表示させるステップと、において、第１の画像データまたは第２の画像データは、表示される第１の画像または第２の画像のパターンの大きさが、撮像装置と表示装置との距離に応じて変更されるように構成されてもよい。
【００２０】
この態様によれば、表示装置と撮像装置との相対距離に応じて、キャリブレーションに適切な大きさの画像パターンを表示することが可能になる。撮像画像に基づく撮像装置の座標系とロボットアームの座標系とのキャリブレーションの精度は、撮像装置が、画像パターンの大きさをどの程度正確に識別できるか否かによって左右される。ここで、例えば、撮像装置から表示装置までの距離が短い場合よりも長い場合の方が、撮像画像に含まれる画像パターンは小さくなる。よって、撮像装置から表示装置までの距離に応じて、適切な大きさの画像パターンが選択されることが好ましい。したがって、本態様によれば、撮像装置と表示装置との間の相対距離に応じて、撮像装置による識別精度の高い画像パターンに基づいて画像が表示されるので、キャリブレーションの精度を向上させることができる。
【００２１】
上記態様において、表示装置と撮像装置との相対位置を変更するステップは、表示装置と撮像装置との相対角度を変更するステップを含み、第１の画像データと第２の画像データとは、少なくとも表示される画像の明るさを示すデータが異なっていてもよい。
【００２２】
この態様によれば、表示装置と撮像装置との相対角度に応じて変化する明るさに等に応じて、キャリブレーションに適切な明るさの画像パターンを表示することが可能になる。例えば、表示装置に画像パターンを表示させる場合には、表示装置と撮像装置との角度が違う測定点毎に、明るさの条件が異なる場合がある。これにより、撮像装置が、表示装置に表示された画像を識別できない状況が発生し得る。この状況は、表示装置と照明との相対的角度が所定の範囲にある場合に多く生じる。しかしながら、本態様によれば、表示装置と撮像装置との相対角度を変更するステップの前後で、画像データの明るさ条件を異ならせる。したがって、測定点毎に異なる明るさ条件に対応し、適切な明るさの画像パターンを表示することができるので、撮像装置によって表示装置に表示された画像をより確実に撮像して、キャリブレーションの精度を向上させることができる。なお、表示装置と撮像装置との相対角度を変更するステップは、表示装置と撮像装置との相対位置を変更するステップと同時に行われてもよい。
【００２３】
上記態様において、第１の撮像データを取得するステップにおける、表示装置に対する撮像装置の相対的位置姿勢と、第２の撮像データを取得するステップにおける、表示装置に対する撮像装置の相対的位置姿勢は、同一であってもよい。
【００２４】
この態様によれば、同一測定点における撮像データの情報量を増やすことができ、キャリブレーションの精度が上がる。具体的には、キャリブレーション演算式の各項に代入する数値情報が複数になる。複数の数値情報で演算を行って、例えば、算出された複数の変換行列（パターンを異ならせているので変換行列の値には微差が生じる）について、加重平均等を行うことで、誤差をより低減した変換行列を得ることができる）
上記態様において、表示装置は、明るさを計測するためのセンサと、センサの検出値に基づいて、第１の画像データまたは第２の画像データを変更する演算部と、を備えており、第１の画像を表示させるステップと、第２の画像を表示させるステップと、において、第１の画像データまたは第２の画像データは、表示される第１の画像または第２の画像の明るさが、明るさを計測するためのセンサの検出値に応じて変更されるように構成されてもよい。
【００２５】
この態様によれば、表示装置が備えるセンサの検出値に基づいて、適切な明るさの画像パターンを表示させることが可能になる。例えば、測定点毎に異なる適切な明るさの画像パターンの設定には、撮像装置によって撮像される被撮像物に対して、どのような条件で光が照射されているか、を検出することが好ましい。したがって、本態様によれば、当照明、自然光等が照射される被撮像物（表示装置）が備えるセンサの検出値に基づいて適切な明るさの画像パターンが選択されるので、測定点毎に異なる明るさ条件に対して適切な明るさの画像パターンを表示することができ、キャリブレーションの精度を向上させることができる。    上記態様において、表示装置は、情報を入力するための入力部と、入力された情報に基づいて第１の画像データまたは第２の画像データを変更する演算部と、を備えており、第１の画像を表示させるステップと、第２の画像を表示させるステップと、において、第１の画像データまたは第２の画像データは、表示される第１の画像または第２の画像のパターンの大きさ及び明るさが、入力された情報に応じて変更されるように構成されていてもよい。
【００２６】
この態様によれば、表示装置が備える入力部から入力された情報に基づいて、キャリブレーションに適切な大きさ及び明るさの画像パターンを表示することが可能になる。すなわち、表示装置の入力部に対して予め、又は、画像を撮像する毎に入力される情報に基づき画像パターンが適切に変更されるので、画像パターンの選択を簡易に実現し、作業工数の削減を図りながら、キャリブレーションの精度を向上させることができる。
【００２７】
上記態様において、表示装置とロボットアームとは固定されており、表示装置は、移動量を計測するためのセンサを備え、第１の画像データまたは第２の画像データは、表示される第１の画像または第２の画像のパターンの大きさが、センサにより計測された移動量に基づいて決定されていてもよい。
【００２８】
この態様によれば、表示装置が備えるセンサを用いて、キャリブレーションに適切な大きさの画像パターンを表示させることが可能になる。すなわち、表示装置が、その移動量に応じて、表示する画像パターンを変更することが可能になるので、簡易な構成で画像パターンの変更が可能になり、作業工数の削減を図りながら、キャリブレーションの精度を向上させることができる。
【００２９】
上記態様において、表示装置とロボットアームとは固定されており、表示装置は、傾きを計測するためのセンサを備え、第１の画像データ及び第２の画像データの少なくともいずれか一方に基づいて表示される画像の明るさを示すデータは、センサにより計測された傾きの大きさに基づいて決定されてもよい。  この態様によれば、表示装置が備えるセンサを用いて、キャリブレーションに適切な大きさの画像パターンを表示させることが可能になる。すなわち、表示装置が、その傾きに応じて、表示する画像パターンを変更することが可能になるので、簡易な構成で画像パターンの変更が可能になり、作業工数の削減を図りながら、キャリブレーションの精度を向上させることができる。
【００３０】
本発明の一態様に係るキャリブレーション方法は、表示装置と、撮像装置と、表示装置または撮像装置のいずれか一方に固定され、表示装置と撮像装置との相対位置を変更可能なロボットアームを用いて、撮像装置とロボットアームとの相対的位置関係をキャリブレーションする方法であって、第１の画像データに基づいて、表示装置に第１の画像を表示させるステップと、撮像装置を用いて、表示装置に表示された第１の画像を撮像して、第１の撮像データを取得するステップと、第１の撮像データを用いて、撮像装置とロボットアームとの相対的位置関係をキャリブレーションするステップと、を含む。
【００３１】
この態様によれば、複数のパターンが印刷されたキャリブレーション・オブジェクトを準備することなく、撮像装置とロボットアームとの相対的位置関係のキャリブレーションを実行することができる。
【００３２】
上記態様において、第１の画像データは、表示される画像のパターンを示すデータ、または、表示される画像の明るさを示すデータ、が撮像環境に応じて決定されるように構成されていてもよい。
【００３３】
この態様によれば、測定点における撮像環境に応じて、適切な画像パターンを使用してキャリブレーションを行うことができるので、キャリブレーションの精度を向上させることができる。
【００３４】
本発明の一態様に係るプログラムは、表示装置と、撮像装置と、表示装置または撮像装置のいずれか一方に固定され、駆動軸を有するロボットアームと、を備えたロボットシステムにおいて、撮像装置の座標系とロボットアームの座標系とをキャリブレーションする方法を実行するためのプログラムであって、コンピュータに、第１の画像データに基づいて、表示装置に第１の画像を表示させるステップと、表示装置に表示された第１の画像を撮像装置に撮像させて第１の撮像データを取得させるステップと、第１の画像データとは異なる第２の画像データに基づいて、表示装置に第２の画像を表示させるステップと、表示装置に表示された第２の画像を撮像装置に撮像させて第２の撮像データを取得させるステップと、第１の撮像データ及び第２の撮像データを用いて、撮像装置の座標系とロボットアームの座標系とをキャリブレーションさせるステップと、を実行させる。
【００３５】
この態様によれば、複数のパターンが印刷されたキャリブレーション・オブジェクトを準備することなく、撮像装置とロボットアームとの相対的位置関係のキャリブレーションをコンピュータに実行させるためのプログラムを提供することができる。また、表示形式が異なる複数の撮像画像を用いてキャリブレーションを行うことができるので、キャリブレーションの精度を向上させることが可能になる。
【００３６】
上記態様において、第１の画像データと第２の画像データとは、表示される画像のパターンを示すデータ、または、表示される画像の明るさを示すデータ、が異なっていてもよい。
【００３７】
この態様によれば、周囲の明るさ等に応じて、キャリブレーションに適切な明るさの画像パターンを表示することが可能になる。例えば、撮像装置を用いて画像を測定するための測定点毎に、照明の角度や照度等に応じて、明るさの条件が異なる場合や、同一の測定点であっても、明るさの条件が変化する場合がある。したがって、本態様によれば、異なる明るさの条件に応じて適切な画像パターンを表示することができるので、キャリブレーションの精度を向上させることができる。
【００３８】
さらに、この態様によれば、表示する画像のパターンを異ならせることができるから、キャリブレーションの精度を向上することが可能になる。すなわち、パターンが異なる複数の撮像画像を用いてキャリブレーションを行うことができるので、キャリブレーションの精度を向上させることが可能になる。また、撮像を行う環境に応じてパターンを異ならせることができるので、キャリブレーションの精度を向上させることが可能になる。
【００３９】
上記態様において、前記第１の画像データと前記第２の画像データとは、表示される画像のパターンを示すデータであって、前記表示装置に表示する画像の少なくとも１つの画素の色に関するデータ、が異なっていてもよい。
【００４０】
この態様によれば、撮像データの情報を増やすことができ、キャリブレーションの精度が向上させることができる。
【００４１】
本発明の一態様に係るキャリブレーションシステムは、第１の画像データに基づいて第１の画像を表示し、かつ、第１の画像データとは異なる第２の画像データに基づいて第２の画像を表示するための表示装置と、第１の画像及び第２の画像をそれぞれ撮像して、第１の撮像データ及び第２の撮像データをそれぞれ取得するための撮像装置と、表示装置または撮像装置のいずれか一方が固定され、駆動軸を有するロボットアームと、第１の撮像データ及び第２の撮像データを用いて、撮像装置の座標系とロボットアームの座標系とをキャリブレーションするための演算を行う演算部と、を備える。
【００４２】
この態様によれば、複数のパターンが印刷されたキャリブレーション・オブジェクトを準備することなく、撮像装置とロボットアームとの相対的位置関係のキャリブレーションを実行することができる。また、表示形式が異なる複数の撮像画像を用いてキャリブレーションを行うことができるので、キャリブレーションの精度を向上させることが可能になる。
【００４３】
上記態様において、第１の画像データと第２の画像データとは、表示される画像のパターンを示すデータ、または、表示される画像の明るさを示すデータ、が異なるように構成されてもよい。
【００４４】
この態様によれば、周囲の明るさ等に応じて、キャリブレーションに適切な明るさの画像パターンを表示することが可能になる。例えば、撮像装置を用いて画像を測定するための測定点毎に、照明の角度や照度等に応じて、明るさの条件が異なる場合や、同一の測定点であっても、明るさの条件が変化する場合がある。したがって、本態様によれば、異なる明るさの条件に応じて適切な画像パターンを表示することができるので、キャリブレーションの精度を向上させることができる。
【００４５】
さらに、この態様によれば、表示する画像のパターンを異ならせることができるから、キャリブレーションの精度を向上することが可能になる。すなわち、パターンが異なる複数の撮像画像を用いてキャリブレーションを行うことができるので、キャリブレーションの精度を向上させることが可能になる。また、撮像を行う環境に応じてパターンを異ならせることができるので、キャリブレーションの精度を向上させることが可能になる。
【００４６】
上記態様において、第１の画像データと第２の画像データとは、表示される画像のパターンを示すデータであって、表示装置に表示する画像の少なくとも１つの画素の色に関するデータ、が異なるように構成されてもよい。
【００４７】
この態様によれば、撮像データの情報を増やすことができ、キャリブレーションの精度が向上させることができる。
【発明の効果】
【００４８】
本発明によれば、複数のパターンが印刷されたキャリブレーション・オブジェクトを準備することなく、撮像装置とロボットアームとの相対的位置関係のキャリブレーションを可能とするキャリブレーション方法、システム及びプログラムを提供することができる。
【図面の簡単な説明】
【００４９】
【図１】キャリブレーションシステム１０の機能ブロック図。
【図２】表示器２２とロボットＲが固定された場合のキャリブレーション方法の模式図。
【図３】表示装置Ｄの初期設定手順。
【図４】キャリブレーション・オブジェクトの例示。
【図５】キャリブレーションの方法を示すフローチャート。
【図６】画像センサＳとロボットＲが固定された場合のキャリブレーション方法の模式図。
【図７】画像センサとロボットの相対位置姿勢の入力画面。
【発明を実施するための形態】
【００５０】
以下、添付図面を参照して、本発明の好適な実施形態について説明する（なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する）。以下、実施の形態において説明するキャリブレーションの方法は、表示装置と、撮像装置と、表示装置または撮像装置のいずれか一方が固定されるロボットアームと、を備えたロボットシステムにおいて、撮像装置の座標系とロボットアームの座標系とをキャリブレーションするものである。表示装置には、画像データに基づくキャリブレーションパターンが表示される。
【００５１】
以下の実施の形態のいずれかで説明するキャリブレーション方法において、表示装置は、キャリブレーションパターン、及び、当該キャリブレーションパターンを表示するときの画像の明るさ、の少なくともいずれか一方が異なる複数の画像パターンを表示する表示器を有している。
【００５２】
以下の実施の形態のいずれかで説明するキャリブレーション方法において、表示装置は、撮像環境に応じて、画像パターンを変更して、表示器に表示させる画像の表示形式を変更するように構成されている。撮像環境とは、ロボットシステムの構成に起因した環境であり、例えば、表示器と撮像装置との関係性として、撮像装置と表示器との間の相対距離、相対姿勢、が挙げられる。また、撮像環境とは、ロボットシステムの周囲の環境であり、例えば、撮像装置が表示器に表示された画像パターンを撮像するときの、周囲の明るさである。これによれば、撮像環境の変動に応じて、適切な画像パターンを用いてキャリブレーションを行うことができるので、キャリブレーションの精度を向上させることができる。
【００５３】
また、以下の実施の形態のいずれかで説明するキャリブレーション方法において、表示装置は、撮像装置が表示器の撮像を行う一の測定点で、表示器に表示する画像パターンを、撮像環境に応じて決定してもよい。これによれば、測定点における撮像環境に応じて、適切な画像パターンを使用してキャリブレーションを行うことができるので、キャリブレーションの精度を向上させることができる。
【００５４】
また、以下の実施の形態のいずれかで説明するキャリブレーション方法において、表示装置は、撮像装置が表示器の撮像を行う一の測定点で、表示器に表示する画像パターンを変更して、表示形式の異なる複数の画像を表示器に表示するように構成されている。これによれば、一の測定点において取得される撮像データの情報量を増大させることができるので、キャリブレーションの精度を向上させることができる。
【００５５】
［第１実施形態］
図１は、第１実施形態にかかるキャリブレーションシステム１０の機能ブロック図を示している。このキャリブレーションシステム１０は、ロボットＲと、ロボットＲを制御するためのロボット制御部１２を有するロボットコントローラ１を有する。また、キャリブレーションシステム１０は、撮像装置としての画像センサＳを備える。ロボットコントローラ１は、画像センサＳの撮像画像に基づいて、ロボットＲの動作を制御するように構成されている。本実施形態において、ロボットＲ、ロボットコントローラ１、画像センサＳ、を含むシステムを、ロボットシステムという。キャリブレーションシステム１０は、この画像センサＳを制御するためのセンサ制御部１４、画像センサＳにより撮像された画像を処理するための画像処理部１６、ロボットＲと画像センサＳ間のキャリブレーションパラメータを算出するためのパラメータ算出部１８（演算部）、を有する画像センサ用コントローラ２を備える。さらに、キャリブレーションシステム１０は、表示器２２と、この表示器２２に画像を表示するための表示制御部２０とを有する表示装置Ｄを備える。また、各制御部、各処理部、及び算出部のそれぞれは、後述するハードウェアプロセッサが、所定のプログラムを実行することにより実現される。各制御部、各処理部、及び算出部の間は、有線又は無線通信により互いにデータを送受信可能に構成されている。
【００５６】
ロボットＲは、多軸多関節型のロボットアームＲであり、床面に固定されたベースと、可動軸として機能する複数のジョイントと、ジョイントに伴って回転動作する複数のリンクを備え、各リンクが、各ジョイントを介して可動自在に接続される構成となっている。ロボットアームＲの先端のリンクは、エンドエフェクタＥと連結することができる。本実施の形態において、ロボットアームＲは、ベースと複数のリンクとがジョイントを介して直列に接続された、６つの自由度を有する垂直多関節ロボットである。
【００５７】
ロボット制御部１２は、ロボットＲを制御するための制御プログラムを格納する記憶装置と、この制御プログラムに従ってロボットＲの各ジョイントに設けられた各サーボモータを回転駆動させるための制御信号を出力するためのプロセッサとを有するロボットコントローラに配置されている。
【００５８】
画像センサＳは、画像を撮像して撮像データを取得するための撮像装置であり、例えば、ＣＣＤカメラにより構成される。
【００５９】
センサ制御部１４は、画像センサＳを制御するための制御信号を出力する。また、画像処理部１６は、画像センサＳにより取得された撮像データを画像処理して、パラメータ算出部１８に出力する。センサ制御部１４は、画像センサＳを制御するための制御信号を演算し、出力するためのプログラムを記憶する記憶装置、及び、プログラムに従って各演算処理を実行するためのプロセッサ、を有する。また、画像処理部１６は、撮像データの画像処理を実行して、当該処理結果をパラメータ算出部１８に出力するためのプログラムを格納する記憶装置、プログラムに従って各演算処理を実行するためのプロセッサ、を有する。なお、センサ制御部１４と画像処理部１６とは、一体に構成されて、共通の記憶装置、及び、プロセッサを有していてもよい。また、センサ制御部１４と画像処理部１６とは、後述のパラメータ算出部１８と一体に構成されて、共通の記憶装置、及び、プロセッサを有していてもよい。
【００６０】
パラメータ算出部１８は、本実施形態に係るキャリブレーション方法を実行するためのコンピュータプログラムと、このコンピュータプログラムならびに処理中のデータ及び後述する画像データ等を記憶する記憶装置と、コンピュータプログラムに従って各種演算処理を実行するプロセッサから構成される。
【００６１】
ロボット制御部１２、センサ制御部１４、画像処理部１６、パラメータ算出部１８、後述する表示制御部２０のそれぞれ、又は、これらから選択された少なくともいずれか２つの演算処理に共通して利用されるプロセッサは、ＣＰＵ（Central Processing Unit）、ＧＰＵ（Graphic Processing Unit）、ＦＰＧＡ（Field Programmable Gate Array）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）をＣＰＵと共に、あるいは、単独で用いてもよい。また、ロボット制御部１２、センサ制御部１４、画像処理部１６、パラメータ算出部１８、後述する表示制御部２０のそれぞれに、又は、これらから選択された少なくともいずれか２つの演算処理に共通して利用される記憶装置は、ＨＤＤ、ＳＳＤ等の不揮発性記憶装置と、ＤＲＡＭ、ＳＲＡＭ等の揮発性記憶装置とを有する。
【００６２】
本実施形態では、画像センサコントローラ２（画像センサＳ側）にパラメータ算出部１８を設け、このパラメータ算出部１８が備えるプロセッサにより本実施形態に係るキャリブレーション方法に必要な演算処理を実行する構成とした。このように、ロボット制御部１２のプロセッサとは別のプロセッサを用いることによって、ロボットＲを制御するためのコマンド処理と、キャリブレーションのパラメータ算出に必要な演算処理の負荷を分散させることが可能になる。
【００６３】
別の実施形態では、ロボット制御部１２、画像処理部１６及びパラメータ算出部１８の少なくとも一部を共通のハードウェアを用いて実現するように構成してもよい。たとえば、ロボットコントローラのプロセッサを用いてキャリブレーションを実行するようにしてもよいし、ロボットＲを制御するための制御プログラムと、キャリブレーションを実行するためのプログラムを、共通の記憶装置に格納してもよい。その点で、ロボットコントローラ１、画像センサコントローラ２、表示装置Ｄ、のうちの少なくともいずれか２つを一体に構成し、プログラムの記憶装置、及び、各演算処理を実行するプロセッサ、を共用してもよい。
【００６４】
表示制御部２０は、表示器２２に様々なキャリブレーションパターンを表示するための画像データを生成するとともに、生成された画像データを表示器２２に出力する。表示器２２は、例えば、液晶ディスプレイなどから構成され、表示制御部２０から受け取った画像データに基づいて画像を表示する。表示制御部２０及び表示器２２から構成される表示装置Ｄは、たとえば、市販されているタブレットやスマートホンなどをハードウェアとして用いることができるが、これに限られるものではなく、それ以外の液晶表示装置や有機ＥＬ表示装置でもよい。また、本実施の形態において、表示制御部２０と表示器２２とを一体として表示装置Ｄとして表現しているが、表示制御部２０と表示器２２を表示装置Ｄとして一体化せず、表示制御部２０と表示器２２とを分けて設けてもよい。このとき、表示器２２は、表示処理等を実行するためのコンピュータプログラムならびに処理中のデータ等を記憶する記憶装置と、コンピュータプログラムに従って各種演算処理を実行するプロセッサとを備えていてよい。
【００６５】
なお、本実施の形態において、画像データは、表示制御部２０が有する記憶装置に記憶される。また、画像データは、表示装置Ｄに表示される画像を形成する画像パターンの情報を含む。画像パターンは、表示装置Ｄに表示する画像の模様であるキャリブレーションパターンと、表示装置Ｄに表示する画像の明るさを決定するための情報と、を含む。キャリブレーションパターンの態様については後述する。
【００６６】
図２は、表示装置Ｄ（表示器２２）をロボットＲに固定しながらキャリブレーションを実行する例を示す模式図である。表示装置Ｄを把持しながらロボットＲのロボットアームを動かすことにより、撮像装置Ｓに対して様々な相対角度及び相対位置で画像パターンを表示することが可能になる。表示装置Ｄは、ロボットＲの先端に連結されたエンドエフェクタＥで把持固定される。一方で、撮像装置Ｓは、たとえば工場の天井などに固定される。なお、表示装置ＤのロボットＲへの固定方法は、エンドエフェクタＥによる把持には限定されない。例えば、表示装置Ｄを、固定治具等の接続構造を介して、ロボットアームＲの先端のリンクに固定してもよく、また、所定の接続構造を介してロボットアームＲを構成するリンクに固定してもよい。なお、表示装置Ｄを、ロボットアームＲを構成するリンクに固定する場合には、ロボットアームＲのうち、最も先端に位置するリンクに固定されていることが好ましい。
【００６７】
図３は、表示装置Ｄの初期設定手順の一例を示している。まず、表示器２２に表示させるキャリブレーションパターンの種類が決定される（Ｓ３１）。図４には、キャリブレーションパターンの一例が示されている。図４（ａ）は、正方形の枠線と、この枠線内に等間隔で配列された合計４９個（７行７列）の黒点からなる点模様の画像パターンである。ただし正方形の方向を特定するために、角の一つが三角形になるように塗りつぶされている。すなわち、図４（ａ）に示すキャリブレーションパターンは、枠線内に所定の間隔で配置される黒点（ドット）と、当該パターンの方向を特定するための多角形状のマークマーカと、を含むパターンである。同図（ｂ）には、ＡＲマーカ（左）や二次元バーコード（右）の画像パターンが示されている。同図（ｃ）には、チェッカーボード（黒色の四角形と白色の四角形が互い違いに配列された画像パターン）、同図（ｄ）には、三角形の画像パターンの例が示されている。画像パターンは、ロボットＲと画像センサＳの位置関係や、キャリブレーションの目的や必要とする精度などに応じて、様々なパターンのものを用いることができる。たとえば、上記した点模様の黒点の個数や、大きさは、任意に設定可能である。本実施形態では、点模様の画像パターンが選択される。表示制御部２０は、選択された画像パターンを表示するための画像データを表示器２２に出力するように構成されている。
【００６８】
なお、画像パターンに含まれるキャリブレーションパターンは、表示器２２に表示される色情報の最小単位である画素（ピクセル）を構成要素とする。そして、少なくとも一つの画素の白黒が反転している場合は、異なる画像パターンとして扱われる。このため、相似形だが大きさが異なる二つの画像パターンは、異なる画像パターンである。
【００６９】
次いで、キャリブレーションパターンの大きさが決定される（Ｓ３２）。本実施形態においては、以下のように計算される表示器２２と画像センサＳとの相対距離に基づいてパターンの大きさが決定される。
【００７０】
まず、画像センサＳは、ロボットＲが設置される工場の天井等に固定されている。このため、画像センサＳの位置座標は既知である。同様に、ロボットＲのベースを基準とする原点座標（根元座標）も既知である。以上より、これら座標間の相対位置及び相対距離は、設置設計図面や実測等の手段により、数センチメートル単位の誤差で予めもとめられている。
【００７１】
次いで、ロボットアームＲの先端座標が求められる。具体的には、ロボットアームの原点座標を基準として、各可動軸の回転角度及び各リンクの長さデータ（形状データ）に基づいて、運動学計算により先端座標が求められる。まず、ロボット制御部１２が、各可動軸の回転角度情報を取得し、パラメータ算出部１８に出力する。パラメータ算出部１８は、受信した回転角度情報と、既知である各リンクの長さデータ及びロボットＲの原点座標に基づいて先端座標を算出する。
【００７２】
次いで、表示器２２（キャリブレーション・オブジェクト）の座標が求められる。具体的には、ロボットアームＲの先端座標を基準として、既知の表示器２２の形状データ（長さデータ）に基づいて、ロボットアームＲの先端座標を基準とした、表示器２２の座標が求められる。なお、ロボットアームＲの先端座標系に対する表示器２２（キャリブレーション・オブジェクト）の位置及び姿勢が変動自在な場合は、表示器２２の形状データに加え、変化した位置及び姿勢に基づいて、表示器２２の座標が求められる。次いで、ロボットアームＲの先端座標系に対する表示器２２の座標に基づき、ロボットアームＲの原点座標を基準とした、表示器２２の座標が求められる。
【００７３】
そして、算出された表示器２２の座標と画像センサＳの位置座標とに基づいて、表示器２２と画像センサＳとの間の相対距離を算出する。
【００７４】
なお、表示器２２と画像センサＳとの相対距離（第１の相対距離）の代わりに、ロボットアームＲの先端座標と画像センサＳとの相対距離（第２の相対距離）を用いて、後述する画像パターンの大きさを変更してもよい。表示器２２（キャリブレーション・オブジェクト）は、ロボットアームＲと比較して小さいこと、また、表示器２２の位置姿勢は、ロボットアームＲの先端座標の動作に伴って変化すること、から、第１の相対距離に代えて第２の相対距離を用いても、表示器２２と画像センサＳとの距離の変動に対応でき、かつ、演算量を少なくすることができる。
【００７５】
表示制御部２０は、パラメータ算出部１８により算出された相対距離に基づいて、ステップＳ３１で選択された画像パターンの大きさを調整した画像データを生成し、表示器２２に出力する。表示器２２は、受信した画像データに基づき所定の画像パターンを表示する。
【００７６】
なお、表示器２２と画像センサＳとの間の相対距離を算出する方法は、上述の方法に限られない。例えば、画像センサＳによって撮像されたキャリブレーションパターンの画像に含まれる模様の大きさの変動に基づいて、相対距離を算出してもよい。例えば、予め定められ、キャリブレーションパターンに含まれる第１の模様と第２の模様との間隔（第１の間隔）を求めておき、当該第１の間隔の情報と、撮像画像から抽出される第１の模様と第２の模様との間隔（第２の間隔）を示す情報と、画像センサＳのセンサパラメータと、に基づいて、相対距離（第３の相対距離）を算出することができる。これによれば、表示器２２と画像センサＳとの間の距離に応じて変化する撮像画像中のキャリブレーションパターンの大きさに基づいて、画像センサＳと表示器２２との相対距離を算出し、当該相対距離に応じて、表示する画像パターンの大きさを変動させることができる。
【００７７】
以上のように、第１の相対距離、第２の相対距離、第３の相対距離のいずれを用いても、ロボットアームの先端の座標の変動に応じて、後述の画像パターンの大きさを変更するようにすることができる。
【００７８】
このように、本実施形態におけるキャリブレーション方法では、表示器２２と画像センサＳとの相対距離に応じて、表示器２２に表示される画像パターンの大きさが決定されるように構成されている。本実施形態においては、表示される画像パターンの大きさ（正方形の枠線で囲まれる領域の面積）は、概ね画像センサＳの撮像領域の半分程度の大きさを占めるように、予め定められている。
【００７９】
ここで、画像パターンの大きさとは、画像パターンの輪郭で囲まれる部分の面積を意味し、たとえば表示器２２のピクセル数で表現することができる。なお、画像パターンの大きさとは、画像パターンの輪郭の内側に存在する模様の大きさ（面積）を意味していてもよい。例えば、図４（ａ）に示すキャリブレーションパターンにおいて、画像パターンの大きさとは、キャリブレーションパターンの枠線の内側に存在する黒点（ドット）の大きさ、及び、多角形状のマークマーカの大きさを示してよい。また、例えば、同図（ｂ）〜（ｄ）に示すキャリブレーションパターンにおいて、画像パターンの大きさとは、当該キャリブレーションパターンの枠線の内側に存在する模様の大きさを示してよい。これら画像パターンの輪郭の内側に存在する模様の大きさ、画像パターンの輪郭の大きさの変更に応じて変更されてもよく、また、画像パターンの輪郭の大きさの変更によらずに変更されてもよい。
【００８０】
以下、キャリブレーションの具体的な方法について、図面を用いて説明する。本実施形態においては、ロボットアームＲが取る様々な姿勢に応じて、表示器２２にキャリブレーションパターンとして表示される画像パターンが変化する。
【００８１】
図５は、本実施形態に係るキャリブレーション方法のフローチャートである。
【００８２】
まず、ロボット制御部１２からの制御信号に基づいて、ロボットアームＲが、撮像を行う測定点に対応した所定の姿勢を取る（Ｓ４１）。この際、画像センサＳにより撮像できる撮像領域内に表示装置Ｄの表示画面が収まるように、ロボットアームＲの姿勢は予め定められている。
【００８３】
次に、上述した方法で、その姿勢におけるロボットアームＲの先端座標（表示器２２の座標）と、画像センサＳとの相対距離がパラメータ算出部１８により算出され、算出された相対距離が表示制御部２０に対して出力される。続いて、相対距離に基づいた大きさの点模様パターンを表示するための画像データが、表示制御部２０により生成され、表示器２２に出力される。同時に、センサ制御部１４は、表示器２２に表示される画像パターンを画像センサＳに撮像させ、撮像データを取得する（Ｓ４２）。
【００８４】
次いで、パラメータ算出部１８により、撮像回数が所定の回数（Ｎ回）に到達したか否かが判断される（Ｓ４３）。到達していない場合は、Ｓ４２〜Ｓ４３が繰り返される。具体的には、前回と異なる姿勢をロボットアームＲに取らせることで前回の測定点とは異なる測定点へ移動する処理と、その際の先端座標（表示器２２の座標）と画像センサＳとの相対距離を算出する処理と、それに応じた大きさの点模様パターンを表示するための画像データを生成する処理と、表示器２２に表示された画像パターンを画像センサＳに撮像して撮像データを取得する処理が繰り返し実行される。
【００８５】
ここで、算出された相対距離が短い場合の方が、相対距離が長い場合よりも小さい画像パターンが表示され、相対距離が長い場合の方が、相対距離が短い場合よりも大きい画像パターンが表示される。たとえば、前回の測定点と比較して相対距離が１．２倍大きくなった場合は、前回よりも点模様パターンの正方形の外枠の一辺、ならびに外枠内の各点の直径が、それぞれ１．２倍大きくなるように画像データが生成され、表示器Ｄに表示される。一方で、前回の測定点と比較して相対距離が０．８倍になった場合は、前回よりも、外枠の一辺、ならびに外枠内の各点の直径が、それぞれ０．８倍小さくなるように画像データが生成され、表示器２２に表示される。このような構成とすることにより、画像センサＳの撮像領域に対する画像パターンの大きさを所定値以上に維持することが可能になり、ひいては、キャリブレーション精度の向上を図ることが可能になる。
【００８６】
なお、大きさが異なる点模様の画像パターンのみならず、異なる形状の画像パターンを表示させ、撮像してもよい。たとえば、白黒を反転させた画像パターンを表示して、それぞれの撮像データを取得することで、キャリブレーションの精度を向上させることが可能になる。すなわち、表示する少なくとも２つの画像パターンについて、第１の画像パターンと第２の画像パターンとで、表示装置Ｄに対応した少なくとも１つの画素の色情報を異ならせてもよい。より具体的には、第１の画像パターンと第２の画像パターンとで、表示装置Ｄに対応した少なくとも１つの画素の白黒を反転させてよい。これによれば、取得できる撮像画像の情報量を増大させて、キャリブレーションの精度を向上させることできる。
【００８７】
また、ロボットアームＲを動かしながら、表示器２２に表示される画像パターンの大きさを連続的に変化させ、各画像パターンの撮像データを取得するようにしてもよい。たとえば、表示器２２が一定の速度で画像センサＳに近づくように（あるいは、遠ざかるように）ロボットアームＲを制御させながら、一定の大きさで表示器２２に表示される画像パターンを小さくするように（あるいは、大きくするように）してもよい。
【００８８】
撮像回数が、所定の回数（Ｎ回）に到達し、Ｎ個の姿勢に対して表示されたＮ個の画像パターンが撮像されると、パラメータ算出部１８により、Ｎ個の撮像データに基づいてキャリブレーション・オブジェクト（キャリブレーションパターンが表示された表示器２２）の位置姿勢が算出される（Ｓ４４）。
【００８９】
次いで、パラメータ算出部１８により、算出されたキャリブレーション・オブジェクトの位置姿勢と、ツールの位置姿勢に基づいてロボットとセンサの相対位置姿勢が求められる（Ｓ４５）。具体的には、下記の計算式に基づいてロボットとセンサの相対的位置関係が取得される。
【００９０】
camＨcal = camＨbase * baseＨtool * toolＨcal
ここで、左辺のcamＨcalは、撮像装置（カメラ）の座標系に基づくキャリブレーション・オブジェクトの位置姿勢を示す変換行列（回転行列と並進ベクトルを含む）であり、上記ステップのとおり、撮像データに基づいて算出される。
【００９１】
また、baseＨtoolは、ロボットアームＲの原点座標系に基づく先端の位置姿勢を示す変換行列であり、上述のとおり、その撮像データが取得された際のロボットアームＲの姿勢を構成する各可動軸の回転角度及び既知の各リンクの長さデータに基づいて運動学計算により算出される。
【００９２】
また、toolＨcalは、ロボットアームＲの先端座標系に基づくキャリブレーション・オブジェクトの位置姿勢を示す変換行列であり、エンドエフェクタＥ及び表示装置Ｄの大きさ等に基づいて予め取得することができる。なお、ロボットアームＲの先端座標系に対する、キャリブレーション・オブジェクトの位置及び姿勢が、少なくとも２回の撮像において変化しない場合には、toolＨcalで表現される変換行列の演算を省略することができる。toolＨcalで表現される変換行列の演算を省略することができる場合とは、例えば、ロボットアームＲの先端にキャリブレーション・オブジェクトが固定されている条件で、少なくとも２回の撮像が行われた場合である。これによれば、各回の撮像に対応して取得された２組の撮像データを用いてキャリブレーションのための演算を行うときに、ロボットアームＲの先端座標系に対するキャリブレーション・オブジェクトの位置姿勢が変化しないという条件を使用することができるので、toolＨcalで表現される変換行列の演算を省略することができる。
【００９３】
したがって、ロボットＲと画像センサＳとの相対的位置関係を示す情報として、画像センサＳの座標系からみたロボットＲの原点座標の位置姿勢を示す変換行列camＨbaseまたはその逆行列baseＨcamを取得することが可能になる。
【００９４】
以上のステップにより、撮像装置である画像センサＳと、ロボットであるロボットアームＲとの相対的位置関係を取得するキャリブレーションが完了する。
【００９５】
［変形例］
以下では、上述した第１実施形態の変形例について説明する。重複する記述を省略し、異なる点について説明する。
【００９６】
第１実施形態では、ロボットアームＲと表示装置Ｄを固定して、ロボットアームＲを用いて表示装置Ｄを移動させながら、キャリブレーションに必要な撮像データを取得した。本変形例では、ロボットアームＲと画像センサＳを固定して、ロボットアームＲを用いて画像センサＳを移動させながら、キャリブレーションに必要な撮像データを取得する方法について説明する。
【００９７】
まずに、ロボットアームＲに画像センサＳを固定する。流通しているロボットアームＲの中には、画像センサＳが予め備え付けられているものもある。このようなロボットアームＲであれば、備え付けの画像センサＳを用いてキャリブレーションを実行することができる。そうでないロボットアームＲについては、画像センサＳを、治具等を用いて先端のリンク等に固定する必要がある。一方で、表示器２２は、所定の位置に固定される。
【００９８】
図６は、画像センサＳが固定されたロボットアームＲを用いて、表示器２２に表示される画像パターンを撮像する様子を示す模式図である。
【００９９】
以下、キャリブレーションの具体的な方法について、図面を用いて説明する。本変形例においても、ロボットアームＲが取る様々な姿勢に応じて、表示器２２に表示される画像パターンに含まれるキャリブレーションパターンが変化する。また、図５を本変形例に係るキャリブレーション方法のフローチャートとして用いることができ、画像センサＳにより撮像できる撮像領域内に表示器２２の表示画面が収まるように、ロボットアームＲが所定の姿勢を取る（Ｓ４１）。
【０１００】
次に、センサ制御部１４は、表示器２２に表示される画像パターンを画像センサＳに撮像させ、撮像データを取得する（Ｓ４２）。ただし、画像パターンの大きさは、第１実施形態と異なる方法で決定することができる。たとえば、ロボットアームＲの先端座標と、固定されている表示器２２の位置座標の相対距離に基づいて、画像パターンの大きさを決定することができる。
【０１０１】
次いで、パラメータ算出部１８により、撮像回数が、所定の回数（Ｎ回）に到達したか否かが判断される（Ｓ４３）。到達していない場合は、Ｓ４２〜Ｓ４３が繰り返される。具体的には、ロボットアームＲが様々な姿勢を取りながら、画像センサＳが、表示器２２に表示される様々な画像パターンを撮像して撮像データを取得する。
【０１０２】
撮像回数が、所定の回数（Ｎ回）に到達すると、パラメータ算出部１８により、撮像データに基づいてキャリブレーション・オブジェクト（キャリブレーションパターンが表示された表示器２２）の位置姿勢が算出される（Ｓ４４）。
【０１０３】
そして、パラメータ算出部１８により、算出されたキャリブレーション・オブジェクトの位置姿勢と、ツールの位置姿勢に基づいてロボットとセンサの相対位置姿勢が求められる（Ｓ４５）。具体的には、下記の計算式に基づいてロボットとセンサの相対的位置関係が取得される。
【０１０４】
camＨcal = camＨtool * toolＨbase * baseＨcal
ここで、左辺のcamＨcalは、カメラの位置座標系に基づくキャリブレーション・オブジェクトの位置姿勢を示す変換行列（回転行列と並進ベクトルを含む）であり、上記ステップのとおり、撮像データに基づいて算出される。
【０１０５】
また、toolＨbaseは、第１実施形態におけるロボットアームＲの原点座標系に基づく先端の位置姿勢を示す変換行列の逆行列であり、その撮像データが取得された際のロボットアームＲの姿勢を構成する各可動軸の回転角度及び既知の各リンクの長さデータに基づいて運動学計算により算出される。
【０１０６】
また、baseＨcalは、ロボットアームＲの原点座標系に基づくキャリブレーション・オブジェクトの位置姿勢を示す変換行列であり、表示器２２の位置座標及び表示装置Ｄの大きさ等に基づいて予め取得することができる。なお、ロボットアームＲの原点座標系に対して、キャリブレーション・オブジェクトの位置及び姿勢が、少なくとも２回の撮像において変化しない場合には、baseＨcalで表現される変換行列の演算を省略することができる。baseＨcalで表現される変換行列の演算を省略することができる場合とは、例えば、ロボットアームＲを動作させて、その姿勢を変更した前後において、画像センサＳによってキャリブレーション・オブジェクトを撮像することができ、キャリブレーション・オブジェクトを固定する場所を変更しなくてもよい場合である。
【０１０７】
したがって、ロボットＲと画像センサＳとの相対的位置関係を示す情報として、画像センサＳの座標系からみたロボットＲの先端座標の位置姿勢を示す変換行列camＨtoolまたはその逆行列toolＨcamを取得することが可能になる。
【０１０８】
以上のステップにより、撮像装置である画像センサＳと、ロボットアームＲの先端座標との相対的位置関係を取得するキャリブレーションが完了する。
【０１０９】
以上述べたとおり、本実施形態及びその変形例に基づくキャリブレーション装置によれば、複数のパターンが印刷されたキャリブレーション・オブジェクトを準備することなく、撮像装置である画像センサＳと、ロボットアームＲとの相対的位置関係を取得することが可能になる。
【０１１０】
なお、点模様の画像パターンの正方形枠の大きさ、点の個数、点の間隔は任意に設定することができる。また、キャリブレーションの目的等に応じて様々な画像パターンを組み合わせてキャリブレーションに用いてもよい。
【０１１１】
また、キャリブレーションシステム１０は、ロボットＲと、画像センサＳ間の相対的な位置関係を出力するための出力部を備えてもよい。
【０１１２】
また、表示器２２とロボットアームＲの先端座標との相対距離に基づかず、それ以外の指標に基づいて画像パターンの大きさを決定するように構成してもよい。たとえば、所定点と、ロボットＲの先端座標の距離に応じて画像パターンの大きさを決定してもよい。
【０１１３】
また、先端の座標とは、ロボットアームＲを構成するリンクのうち、最も先端のリンクの先端の座標のほか、ツール（エンドエフェクタ）の先端または中間の座標等、ロボットアームの最も先端のリンクのみならず、その先（末端）の座標を含む趣旨である。
［第２実施形態］
第２実施形態では第１実施形態と共通の事柄についての記述を省略し、異なる点について説明する。
【０１１４】
第１実施形態は、画像センサＳとロボットアームＲの先端との相対距離に基づいて画像パターンの大きさが変化するようにした。本実施形態は、画像センサＳにより撮像されるキャリブレーションパターンのぼけ量に基づいて、キャリブレーションパターン（画像パターン）の大きさが変更される。
【０１１５】
まず、ぼけ量に基づく距離の推定方法について説明する。画像センサＳの撮像面レンズの焦点距離をｆとし、画像センサＳと光源Ａの距離をｕとする場合、ピントが合う距離ｖは、ｆ-1=ｕ-1＋ｖ-1の関係を満足する。したがって、撮像面レンズから撮像面までの距離ｒが、ｒ＝ｖであれば、ピントの合った画像を得ることができる。一方で、ｒ≠ｖの場合は、画像センサＳ（カメラ）の絞りをｐとしたときに、ｑ＝ｐ*｜ｖ−ｒ｜／ｖの直径を有する円として光源Ａが撮像面に投影されることとなり、ぼけ量ｑのぼけが発生する。
【０１１６】
したがって、画像パターンとして、点を含む画像データを準備しておき、その点がどの程度の直径を持つ円として撮像されるか撮像データを画像認識することにより、ぼけ量ｑを得ることができる。そして、既知のｐ、ｒ及びｆならびに上式に基づいて、画像センサＳとキャリブレーション・オブジェクトの距離ｕを推定することが可能になる。
【０１１７】
そして、距離ｕに基づいて、画像パターンの大きさを変更するようにすることで、画像センサＳと表示器２２が離れても、表示されるキャリブレーションパターンの大きさを大きくすることができる。また、画像センサＳと表示器２２が近付いても、表示されるキャリブレーションパターンの大きさを小さくして、画像センサＳの撮像領域内に、キャリブレーションパターンが収まるようにすることができる。
【０１１８】
さらに、ロボットＲの先端座標等を計算するための演算処理を省略することが可能になるため、プロセッサへの負荷を軽減することが可能になる。
【０１１９】
なお、ぼけ量に基づく距離推定に替えて、画像センサに表示される画像パターンとして、マーカを表示させ、マーカの複数の特徴点間の距離を画像認識により算出するような構成とし、その距離（あるいは姿勢の変化に応じた特徴点間の距離の変化量）に基づいて、画像パターンの大きさを変更するように構成してもよい。
【０１２０】
［第３実施形態］（ハレーション）
第３実施形態では、上述した各実施形態と共通の事柄についての記述を省略し、異なる点について説明する。
【０１２１】
本実施形態に係るキャリブレーションシステムは、照度センサを備える。そして、照度センサによる周辺照度の大きさに応じて、表示器２２に表示される画像パターンの明るさを異ならせる。なお、照度センサは、表示器２２と一体に設けられていることが好ましい。具体的には、照度が大きい場合（たとえば、表示器２２の表示面が天井の照明と対向しているため、表示面で反射した光が画像センサＳに受光される場合）は、照度が小さい場合と比較して、相対的に画像パターンが暗く表示されるような画像データに基づき画像パターンを表示器２２に表示させ、照度が小さい場合（たとえば、表示器２２の表示面が床側を向いているため、天井の照明がほとんど画像センサＳに受光されないような場合）は、照度が大きい場合と比較して、相対的に画像パターンが明るく表示されるような画像データに基づき画像パターンを表示器２２に表示させることで、天井に設置された照明等が原因となって発生するハレーション（光線が強すぎるために被写体の周辺が白くぼやけて不鮮明になる現象）の影響を軽減してキャリブレーションを実行することが可能になる。
【０１２２】
たとえば、画像センサＳと表示器２２の相対距離を変更することなく、画像センサＳに対する表示器２２の相対角度を変更するようにロボットアームＲを制御し、表示させる画像の明るさを照度計の出力に応じて変更することで、ハレーションに伴うキャリブレーション精度の劣化を抑制することが可能になる。
【０１２３】
なお、照明の位置が既知であるような場合は、ロボットアームＲの位置姿勢や推定される表示器２２の表示面の床面に対する角度などに基づいて、明るさを示す画像データを調整するような構成としてもよい。
【０１２４】
また、照度センサは、表示装置Ｄとして、タブレット型の携帯情報処理端末やスマートホンを利用する場合は、これら端末に予め備わっている照度センサを用いてもよい。
【０１２５】
また、本実施形態において、画像データとは、表示される画像の形状のみならず明るさを異ならせるものも含む趣旨であり、ピクセルごとに指定される明度を示すデータのみならず、表示器２２のバックライトの出力を規定する制御データや、明るさの度合いを示すデータも含む。
【０１２６】
［第４実施形態］（表示装置の機能の利用、入力部やセンサなど）
第４実施形態では上述した実施形態と共通の事柄についての記述を省略し、異なる点について説明する。
【０１２７】
上述した実施形態は、プロセッサを用いて画像センサＳとロボットアームＲの先端との相対距離等を算出した。しかしながら、表示装置Ｄに多様な機能を持たせることで、プロセッサ等を用いた複雑な演算処理に代用させることが可能になる。
【０１２８】
たとえば、図７に示されるように、表示装置Ｄに入力Ｉ／Ｆ（入力手段）を設け、ロボットＲと画像センサＳとの相対位置姿勢の概算値、画像センサＳの計測レンジ及び視野範囲の入力（あるいは、これらを規定する画像センサＳの型番などの入力）を受け付ける構成とし、入力された値に応じて自動的に適切な大きさ、形状及び明るさの画像パターンを表示させるような構成とすることができる。また、複数のキャリブレーション・オブジェクトの形状を表示器２２にスクロールさせて表示させながら、選択できるような構成としてもよい。なお、入力Ｉ／Ｆは、図７に示す態様には特に限定されない。例えば、表示装置Ｄが有し、外部機器との有線又は無線による電気通信が行われる通信Ｉ／Ｆを介して、画像パターンの内容を決定する情報を入力してもよい。
【０１２９】
また、表示装置ＤまたはロボットアームＲに加速度センサ、速度センサまたは傾き（ジャイロ）センサを設け、ロボットアームＲの移動量や傾きをこれらセンサの計測データに基づいて、自動的に適切な大きさ、形状及び明るさの画像パターンを表示させるような構成とすることもできる。
【０１３０】
このような構成とすることにより、適切な形状や大きさ等の画像パターンを客観的に選択することが可能になる。また、ロボットアームＲから相対距離等を算出するためのデータを受け取るための送受信の物理的な構成等が不要となり、表示装置Ｄのみにより画像パターンを表示するための画像データを決定することが可能になる。さらに、表示装置Ｄとして、携帯端末（タブレットやスマートホン）を用いる場合は、もともと備わっている入力手段や、各種センサを利用することが可能になる。
【０１３１】
なお、全ての実施形態において、同一の測定点において、異なる画像パターンに基づいて画像を表示し、同一の測定点について取得した複数の撮像画像に基づいて、キャリブレーションの演算を行うようにしてもよい。ここで、異なる画像パターンとは、表示装置Ｄに対応した少なくとも１つの画素の色情報が異なること画像パターンであることが好ましく、特に、表示装置の少なくとも１つの画素の白黒が反転している画像パターンであることが好ましい。これによれば、各測定点において、取得できる撮像画像の情報量を増大させて、キャリブレーションの精度を向上させることできる。すなわち、同一測定点においても、異なる態様の複数種類の画像パターンを表示して、キャリブレーション演算の根拠となる数値情報を増大させることができる。したがって、これによれば、同一測定点において取得した複数種類の画像パターンを用いてキャリブレーションの演算処理を行うことができるから、キャリブレーションの精度を向上させることができる。
【０１３２】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【０１３３】
なお、本明細書において、「部」や「手段」、「手順」とは、単に物理的構成を意味するものではなく、その「部」等が行う処理をソフトウェアによって実現する場合も含む。また、１つの「部」等や、装置が行う処理が２つ以上の物理的構成や装置により実行されても、２つ以上の「部」等や、装置が行う処理が１つの物理的手段や装置により実行されてもよい。
【０１３４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【０１３５】
（付記１）
表示装置と、撮像装置と、前記表示装置または前記撮像装置のいずれか一方が固定され、駆動軸を有するロボットアームと、を備えたロボットシステムにおいて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションする方法であって、
第１の画像データに基づいて、前記表示装置に第１の画像を表示させるステップと、
前記撮像装置を用いて、前記表示装置に表示された前記第１の画像を撮像して、第１の撮像データを取得するステップと、
前記第１の画像データとは異なる第２の画像データに基づいて、前記表示装置に第２の画像を表示させるステップと、
前記撮像装置を用いて、前記表示装置に表示された前記第２の画像を撮像して、第２の撮像データを取得するステップと、
前記第１の撮像データ及び前記第２の撮像データを用いて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションするステップと、を含むキャリブレーション方法。
【０１３６】
（付記２）
表示装置と、撮像装置と、前記表示装置または前記撮像装置のいずれか一方が固定され、駆動軸を有するロボットアームと、を備えたロボットシステムにおいて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションする方法であって、
第１の画像データに基づいて、前記表示装置に第１の画像を表示させるステップと、
前記撮像装置を用いて、前記表示装置に表示された前記第１の画像を撮像して、第１の撮像データを取得するステップと、
前記第１の撮像データを用いて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションするステップと、を含むキャリブレーション方法。
【０１３７】
（付記３）
表示装置と、撮像装置と、前記表示装置または前記撮像装置のいずれか一方が固定され、駆動軸を有するロボットアームと、を備えたロボットシステムにおいて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションする方法を実行するためのプログラムであって、
コンピュータに、
第１の画像データに基づいて、前記表示装置に第１の画像を表示させるステップと、
前記表示装置に表示された前記第１の画像を前記撮像装置に撮像させて第１の撮像データを取得させるステップと、
前記第１の画像データとは異なる第２の画像データに基づいて、前記表示装置に第２の画像を表示させるステップと、
前記表示装置に表示された前記第２の画像を前記撮像装置に撮像させて第２の撮像データを取得させるステップと、
前記第１の撮像データ及び前記第２の撮像データを用いて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションさせるステップと、を実行させるためのプログラム。
【０１３８】
（付記４）
第１の画像データに基づいて第１の画像を表示し、かつ、前記第１の画像データとは異なる第２の画像データに基づいて第２の画像を表示するための表示装置と、
前記第１の画像及び前記第２の画像をそれぞれ撮像して、第１の撮像データ及び第２の撮像データをそれぞれ取得するための撮像装置と、
前記表示装置または前記撮像装置のいずれか一方が固定され、前記表示装置と前記撮像装置との相対位置を変更するためのロボットアームと、
前記第１の撮像データ及び前記第２の撮像データを用いて、前記撮像装置の座標系と前記ロボットアームの座標系とをキャリブレーションするための演算を行う演算部と、を備えるキャリブレーションシステム。
【符号の説明】
【０１３９】
１０…キャリブレーションシステム、１２…ロボット制御部、１４…センサ制御部、１６…画像処理部、１８…パラメータ算出部、２０…表示制御部、２２…表示器、Ｄ…表示装置、Ｒ…ロボット、Ｓ…画像センサ。
【図１】
2019030943.tif 000003
【図２】
2019030943.tif 000004
【図３】
2019030943.tif 000005
【図４】
2019030943.tif 000006
【図５】
2019030943.tif 000007
【図６】
2019030943.tif 000008
【図７】
2019030943.tif 000009