(57)【要約】【課題】４個以上のマーカーの幾何学的な位置関係応じた位置を精度よく検出させることができる校正ボードを提供すること。【解決手段】４個以上のマーカーを備え、前記４個以上のマーカーのそれぞれは、回転対称性を有さない凸包の頂点に位置する校正ボード。【選択図】図２
2018001333.tif 000002
【特許請求の範囲】
【請求項１】
４個以上のマーカーを備え、
前記４個以上のマーカーのそれぞれは、回転対称性を有さない凸包の頂点に位置する、
校正ボード。
【請求項２】
前記４個以上のマーカーのそれぞれは、図心マーカーである、
請求項１に記載の校正ボード。
【請求項３】
前記図心マーカーのそれぞれは、図心が３つ以上重なる図形を有する、
請求項２に記載の校正ボード。
【請求項４】
前記凸包における第１マーカーを含む辺の長さは、前記凸包における他の辺の長さよりも長い、
請求項１から３のうちいずれか一項に記載の校正ボード。
【請求項５】
前記凸包の内部に、原点を備える、
請求項１から４のうちいずれか一項に記載の校正ボード。
【請求項６】
前記凸包の外部に、第１基準部分と第２基準部分を備え、
前記原点と前記第１基準部分とを通る直線と、前記原点と前記第２基準部分とを通る直線とは、直交する、
請求項５に記載の校正ボード。
【請求項７】
前記マーカーの数は５個である、
請求項１から６のうちいずれか一項に記載の校正ボード。
【請求項８】
可動部を備え、
前記可動部は、それぞれが回転対称性を有さない凸包の頂点に位置する４個以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する、
ロボット。
【請求項９】
前記撮像部により前記パターンが撮像された画像に基づいて、前記ロボットの座標系と前記撮像部の座標系との校正が行われる、
請求項８に記載のロボット。
【請求項１０】
前記４個以上のマーカーのそれぞれは、図心マーカーである、
請求項９に記載のロボット。
【請求項１１】
前記図心マーカーのそれぞれは、図心が３つ以上重なる図形を有する、
請求項１０に記載のロボット。
【請求項１２】
前記凸包における第１マーカーを含む辺の長さは、前記凸包における他の辺の長さよりも長い、
請求項８から１１のうちいずれか一項に記載のロボット。
【請求項１３】
前記凸包の内部に、原点を備える、
請求項８から１２のうちいずれか一項に記載のロボット。
【請求項１４】
前記凸包の外部に、第１基準部分と第２基準部分を備え、
前記原点と前記第１基準部分とを通る直線と、
前記原点と前記第２基準部分とを通る直線とは、直交する、
請求項１３に記載のロボット。
【請求項１５】
前記マーカーの数は５個である、
請求項８から１４のうちいずれか一項に記載のロボット。
【請求項１６】
撮像部により撮像された画像に含まれるマーカーの候補から、それぞれが回転対称性を有さない凸包の頂点に位置する４個以上である所定数のマーカーからなる基準パターンに整合する前記所定数の前記候補を検出する、
検出方法。
【請求項１７】
撮像部により撮像された画像に含まれるマーカーの候補から選択された前記所定数の前記候補からなる第１パターンをホモグラフィー変換した結果と前記基準パターンとの整合性に基づいて、前記所定数の前記候補を検出する、
請求項１６に記載の検出方法。
【請求項１８】
前記整合性は、前記ホモグラフィー変換した結果と前記基準パターンとの差によって表される、
請求項１７に記載の検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、校正ボード、ロボット、及び検出方法に関する。
【背景技術】
【０００２】
撮像部により対象物を撮像し、撮像した撮像画像に基づいてロボットに所定の作業を行わせる技術の研究や開発が行われている。このような技術では、ロボットの座標系であるロボット座標系における座標と、撮像部の座標系である撮像部座標系における座標との対応付けを行う校正が行われる場合がある。このような校正では、例えば、校正用のパターンを撮像部により撮像し、撮像した撮像画像に含まれる当該パターンに基づいて撮像部座標系における座標とロボット座標系における座標とが対応付けられる。
【０００３】
これに関し、直線状に並んだ３個以上の第１マーカーと、当該直線と直交した位置に配置された１個の第２マーカーを有する校正用パターンが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２４４５２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような校正用パターンは、第２マーカーを誤検出させてしまう場合があった。その結果、第１マーカーと第２マーカーとの幾何学的な位置関係によって示される位置を検出する装置は、精度よく当該位置を検出することができない場合があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、４個以上のマーカーを備え、前記４個以上のマーカーのそれぞれは、回転対称性を有さない凸包の頂点に位置する、校正ボードである。
この構成により、校正ボードでは、４個以上のマーカーのそれぞれは、回転対称性を有さない凸包の頂点に位置する。これにより、校正ボードは、４個以上のマーカーに応じた位置を精度よく検出させることができる。
【０００７】
また、本発明の他の態様は、校正ボードにおいて、前記４個以上のマーカーのそれぞれは、図心マーカーである、構成が用いられてもよい。
この構成により、校正ボードでは、４個以上のマーカーのそれぞれは、図心マーカーである。これにより、校正ボードは、４個以上の図心マーカーに応じた位置を精度よく検出させることができる。
【０００８】
また、本発明の他の態様は、校正ボードにおいて、前記図心マーカーのそれぞれは、図心が３つ以上重なる図形を有する、構成が用いられてもよい。
この構成により、校正ボードでは、図心マーカーのそれぞれは、図心が３つ以上重なる図形を有する。これにより、校正ボードは、４個以上のマーカーであって図心が３つ以上重なる図形を有する図心マーカーを画像の中から誤りなく検出させることができる。
【０００９】
また、本発明の他の態様は、校正ボードにおいて、前記凸包における第１マーカーを含む辺の長さは、前記凸包における他の辺の長さよりも長い、構成が用いられてもよい。
この構成により、校正ボードでは、凸包における第１マーカーを含む辺の長さは、凸包における他の辺の長さよりも長い。これにより、校正ボードは、４個以上のマーカーに応じた位置を、第１マーカーを基準とすることによって効率よく検出させることができる。
【００１０】
また、本発明の他の態様は、校正ボードにおいて、前記凸包の内部に、原点を備える、構成が用いられてもよい。
この構成により、校正ボードは、凸包の内部に、原点を備える。これにより、校正ボードは、４個以上のマーカーに応じた位置を原点によって、より精密に表すことができる。
【００１１】
また、本発明の他の態様は、校正ボードにおいて、前記凸包の外部に、第１基準部分と第２基準部分を備え、前記原点と前記第１基準部分とを通る直線と、前記原点と前記第２基準部分とを通る直線とは、直交する、構成が用いられてもよい。
この構成により、校正ボードでは、原点と第１基準部分とを通る直線と、原点と第２基準部分とを通る直線とは、直交する。これにより、校正ボードは、校正ボードの姿勢を第１基準部分と第２基準部分とによって、より精密に表すことができる。
【００１２】
また、本発明の他の態様は、校正ボードにおいて、前記マーカーの数は５個である、構成が用いられてもよい。
この構成により、校正ボードでは、マーカーの数は５個である。これにより、校正ボードは、５個のマーカーに応じた位置を精度よく検出させることができる。
【００１３】
また、本発明の他の態様は、可動部を備え、前記可動部は、それぞれが凸包の頂点に位置する４個以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する、ロボットである。
この構成により、ロボットは、それぞれが凸包の頂点に位置する４個以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボットは、４個以上のマーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【００１４】
また、本発明の他の態様は、ロボットにおいて、前記撮像部により前記パターンが撮像された画像に基づいて、前記ロボットの座標系と前記撮像部の座標系との校正が行われる、構成が用いられてもよい。
この構成により、ロボットは、それぞれが凸包の頂点に位置する４個以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて、ロボットの座標系と撮像部の座標系との校正が行われる。これにより、ロボットは、撮像部の座標系における位置に応じた位置であってロボットの座標系における位置を精度よく算出することができる。
【００１５】
また、本発明の他の態様は、ロボットにおいて、前記４個以上のマーカーのそれぞれは、図心マーカーである、構成が用いられてもよい。
この構成により、ロボットは、それぞれが凸包の頂点に位置する４個以上の図心マーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボットは、４個以上の図心マーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【００１６】
また、本発明の他の態様は、ロボットにおいて、前記図心マーカーのそれぞれは、図心が３つ以上重なる図形を有する、構成が用いられてもよい。
この構成により、ロボットは、図心が３つ以上重なる図形を有する図心マーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボットは、４個以上のマーカーであって図心が３つ以上重なる図形を有する図心マーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【００１７】
また、本発明の他の態様は、ロボットにおいて、前記凸包における第１マーカーを含む辺の長さは、前記凸包における他の辺の長さよりも長い、構成が用いられてもよい。
この構成により、ロボットは、凸包における第１マーカーを含む辺の長さが凸包における他の辺の長さよりも長い４つ以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボットは、４個以上のマーカーに応じた位置を、撮像部により撮像された画像から第１マーカーを基準とすることによって効率よく検出し、検出した当該位置に基づいて所定の作業を精度よく行うことができる。
【００１８】
また、本発明の他の態様は、ロボットにおいて、前記凸包の内部に、原点を備える、構成が用いられてもよい。
この構成により、ロボットは、それぞれが凸包の頂点に位置する４個以上のマーカーからなるパターンであって凸包の内部に原点を備えるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボットは、凸包の内部に備えられた原点によって表された位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【００１９】
また、本発明の他の態様は、ロボットにおいて、前記凸包の外部に、第１基準部分と第２基準部分を備え、前記原点と前記第１基準部分とを通る直線と、前記原点と前記第２基準部分とを通る直線とは、直交する、構成が用いられてもよい。
この構成により、ロボットは、外部に第１基準部分及び第２基準部分を備えた凸包の頂点にそれぞれが位置する４個以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボットは、校正ボードの姿勢を精度よく検出し、検出した当該姿勢に基づいて所定の作業を行うことができる。
【００２０】
また、本発明の他の態様は、ロボットにおいて、前記マーカーの数は５個である、構成が用いられてもよい。
この構成により、ロボットは、それぞれが凸包の頂点に位置する５個のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボットは、５個のマーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【００２１】
また、本発明の他の態様は、撮像部により撮像された画像に含まれるマーカーの候補から、それぞれが回転対称性を有さない凸包の頂点に位置する４個以上である所定数のマーカーからなる基準パターンに整合する前記所定数の前記候補を検出する、検出方法である。
この構成により、検出方法は、撮像部により撮像された画像に含まれるマーカーの候補から、それぞれが回転対称性を有さない凸包の頂点に位置する４個以上である所定数のマーカーからなる基準パターンに整合する所定数の当該候補を検出する。これにより、検出方法は、４個以上のマーカーに応じた位置を精度よく検出することができる。
【００２２】
また、本発明の他の態様は、検出方法において、撮像部により撮像された画像に含まれるマーカーの候補から選択された前記所定数の前記候補からなる第１パターンをホモグラフィー変換した結果と前記基準パターンとの整合性に基づいて、前記所定数の前記候補を検出する、構成が用いられてもよい。
この構成により、検出方法は、撮像部により撮像された画像に含まれるマーカーの候補から選択された所定数の当該候補からなる第１パターンをホモグラフィー変換した結果と基準パターンとの整合性に基づいて、所定数の当該候補を検出する。これにより、検出方法は、画像に含まれるマーカーの候補に間違ったマーカーが含まれる場合でも、４個以上のマーカーから構成されるパターンを正しく検出することができる。
【００２３】
また、本発明の他の態様は、検出方法において、前記整合性は、前記ホモグラフィー変換した結果と前記基準パターンとの差によって表される、構成が用いられてもよい。
この構成により、検出方法は、基準パターンとの整合性が、第１パターンをホモグラフィー変換した結果と基準パターンとの差によって表される。これにより、検出方法は、画像に含まれるマーカーの候補に間違ったマーカーが含まれる場合でも、第１パターンをホモグラフィー変換した結果と基準パターンとの差によって表される整合性に基づいて、４個以上のマーカーから構成されるパターンを正しく検出することができる。
【００２４】
以上により、校正ボードでは、４個以上のマーカーのそれぞれは、回転対称性を有さない凸包の頂点に位置する。これにより、校正ボードは、４個以上のマーカーに応じた位置を精度よく検出させることができる。
また、ロボットは、それぞれが凸包の頂点に位置する４個以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボットは、４個以上のマーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
また、検出方法は、撮像部により撮像された画像に含まれるマーカーの候補から選択された所定数の当該候補からなる第１パターンをホモグラフィー変換した結果と基準パターンとの整合性に基づいて、所定数の当該候補を検出する。これにより、検出方法は、画像に含まれるマーカーの候補に間違ったマーカーが含まれる場合でも、４個以上のマーカーから構成されるパターンを正しく検出することができる。
【図面の簡単な説明】
【００２５】
【図１】実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】パターンＰＮの一例を示す図である。
【図３】図心を説明するための図である。
【図４】図２に示したマーカーＭＫ１を示す図である。
【図５】パターンＰＮにおけるマーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係の一例を示す図である。
【図６】ロボット制御装置３０のハードウェア構成の一例を示す図である。
【図７】ロボット制御装置３０の機能構成の一例を示す図である。
【図８】ロボット制御装置３０が校正を行う処理の流れの一例を示すフローチャートである。
【図９】基準パターンの一例を示す図である。
【図１０】図９に示した二次元座標系ＢＣにおけるマーカーＭＫ１〜マーカーＭＫ５それぞれのＸ座標及びＹ座標を示すテーブルである。
【図１１】画像取得部４３が取得した撮像画像のうちの一部分の一例を示す図である。
【図１２】所定条件を満たす組み合わせと判定される可能性のある第０組み合わせの一例を示す図である。
【図１３】所定条件を満たす組み合わせと判定される第０組み合わせの一例を示す図である。
【図１４】検出部４５によって特定されたＸ座標及びＹ座標であってマーカー候補ＤＰ１〜マーカー候補ＤＰ６それぞれの撮像部座標系ＣＣにおけるＸ座標及びＹ座標の一例を示すテーブルである。
【図１５】ステップＳ１６０においてホモグラフィー変換が行われた後の第１組み合わせに含まれる各マーカー候補の二次元座標系ＢＣにおける座標の一例を示す図である。
【図１６】ステップＳ１６０においてホモグラフィー変換が行われた後の第１組み合わせに含まれる各マーカー候補の二次元座標系ＢＣにおける座標の他の例を示す図である。
【図１７】ロボット２０に所定の作業を行わせる際におけるロボットシステム１の構成の一例を示す図である。
【図１８】ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。
【図１９】ロボット制御装置３０が校正を行う処理の流れの他の例を示すフローチャートである。
【図２０】各マーカー候補対に含まれるマーカー候補間の距離であって検出部４５により算出された距離の一例を示す図である。
【図２１】実施形態の変形例２に係る校正ボードＣＢの一例を示す図である。
【発明を実施するための形態】
【００２６】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２７】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、撮像部１０と、ロボット２０と、ロボット制御装置３０を備える。
【００２８】
撮像部１０は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。撮像部１０は、作業台ＴＢの上面に載置された校正ボードＣＢを含む範囲を撮像可能な位置に設置される。
【００２９】
作業台ＴＢは、例えば、テーブル等の台である。なお、作業台ＴＢは、テーブルに代えて、校正ボードＣＢを載置することが可能な台であれば、他の台であってもよい。校正ボードＣＢは、撮像部座標系ＣＣとロボット座標系ＲＣとの対応付けを行う校正に用いられる。より具体的には、当該校正では、撮像部座標系ＣＣにおける座標と、ロボット座標系ＲＣにおける座標との対応付けが行われる。撮像部座標系ＣＣは、撮像部１０により撮像された撮像画像上の位置を示す座標系である。ロボット座標系ＲＣは、ロボット制御装置３０がロボット２０のＴＣＰ（Tool  Center  Point）をロボット２０に移動させる際の基準となる座標系である。図１に示した校正ボードＣＢの形状は、板形状であるが、立方体形状、直方体形状、三角柱形状、三角錐形状、円柱形状、円錐形状等の他の形状であってもよい。校正ボードＣＢについては、後述する。
【００３０】
撮像部１０は、ケーブルによってロボット制御装置３０と通信可能に接続されている。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。また、撮像部１０は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３１】
ロボット２０は、アームＡと、アームＡを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡのような１本のアーム（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボット、直交座標ロボット、円筒型ロボット等の他のロボットであってもよい。直交座標ロボットは、例えば、ガントリロボットである。
【００３２】
アームＡは、エンドエフェクターＥと、マニピュレーターＭを備える。アームＡは、可動部の一例である。
エンドエフェクターＥは、この一例において、物体を把持可能な指部を備えるエンドエフェクターである。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、空気の吸引や磁力、治具等によって物体を持ち上げることが可能なエンドエフェクターや、他のエンドエフェクターであってもよい。
【００３３】
エンドエフェクターＥは、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、エンドエフェクターＥは、ロボット制御装置３０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３４】
マニピュレーターＭは、６つの関節を備える。また、当該６つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭを備えるアームＡは、６軸垂直多関節型のアームである。アームＡは、支持台Ｂと、エンドエフェクターＥと、マニピュレーターＭと、マニピュレーターＭが備える６つの関節それぞれのアクチュエーターとによる連携した動作によって６軸の自由度の動作を行う。なお、アームＡは、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００３５】
マニピュレーターＭが備える６つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによってロボット制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、ロボット制御装置３０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭが備える６つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によってロボット制御装置３０と接続される構成であってもよい。
【００３６】
ロボット制御装置３０は、この一例において、ロボットを制御する（動作させる）コントローラーである。ロボット制御装置３０は、前述の校正ボードＣＢを含む範囲を撮像部１０に撮像させる。そして、ロボット制御装置３０は、撮像部１０が撮像した撮像画像を撮像部１０から取得する。ロボット制御装置３０は、取得した撮像画像に基づいて、撮像部座標系ＣＣとロボット座標系ＲＣとを対応付ける校正を行う。具体的には、ロボット制御装置３０は、当該撮像画像に基づいて、ロボット座標系ＲＣと校正ボードＣＢ上の位置を表す座標系である校正ボード座標系とを対応付ける校正を行う。ここで、校正ボード座標系とロボット座標系ＲＣとを対応付ける校正が予めロボット制御装置３０に対して行われていた場合、ロボット制御装置３０は、これら２つの校正の結果に基づいて、撮像部座標系ＣＣとロボット座標系ＲＣとを対応付ける校正を行うことができる。校正ボード座標系とロボット座標系ＲＣとを対応付ける校正をロボット制御装置３０に対して行う方法は、ダイレクトティーチングのようなタッチアップ動作を含む方法等の既存の方法であってもよく、これから開発される新たな方法であってもよい。以下では、一例として、ロボット制御装置３０には、校正ボード座標系とロボット座標系ＲＣとを対応付ける校正が予め行われている場合について説明する。撮像部座標系ＣＣとロボット座標系ＲＣとを対応付ける校正が行われた後、ロボット制御装置３０は、撮像部１０により撮像された撮像画像に基づいてロボット２０に所定の作業を行わせる。
【００３７】
＜校正ボードの構成＞
以下、校正ボードＣＢについて説明する。校正ボードＣＢには、４個以上のマーカーからなるパターンＰＮが設けられている。すなわち、パターンＰＮは、これら４個以上のマーカーを含む。パターンＰＮにおいて、４個以上のマーカーのそれぞれは、凸包の頂点に位置する。凸包は、与えられた点をすべて包含する最小の凸多角形のことである。これにより、パターンＰＮを構成する４個以上のマーカーの中から選択可能な３個のマーカーの組み合わせは、いずれも一直線上に並ぶことがない。また、この一例において、パターンＰＮでは、４個以上のマーカーのうちの１個のマーカーである第１マーカーは、他のマーカーと異なる特徴を有する。具体的には、パターンＰＮを構成する４個以上のマーカーのうちの第１マーカーを含む辺の長さは、当該４個以上のマーカーのそれぞれが頂点に位置する凸包における他の辺の長さよりも長い。なお、パターンＰＮに含まれる４個以上のマーカーには、当該特徴を有する第１マーカーが含まれない構成であってもよい。しかし、パターンＰＮに含まれる４個以上のマーカーに第１マーカーが含まれている場合、校正ボードＣＢは、パターンＰＮに含まれる４個以上のマーカーに第１マーカーが含まれていない場合と比較して、短時間で校正ボードＣＢを検出させることができる。
【００３８】
以下では、一例として、パターンＰＮが、５個のマーカーであるマーカーＭＫ１〜マーカーＭＫ５を含む場合について説明する。当該５個は、所定数の一例である。また、以下では、マーカーＭＫ１が第１マーカーである場合について説明する。また、以下では、マーカーＭＫ１〜マーカーＭＫ５の全部が互いに同じ形状のマーカーであり、当該全部が互いに同じ大きさのマーカーである場合について説明する。なお、第１マーカーは、マーカーＭＫ１に代えて、マーカーＭＫ２〜マーカーＭＫ５のうちのいずれかであってもよい。また、マーカーＭＫ１〜マーカーＭＫ５の一部又は全部は、互いに異なる形状のマーカーであってもよく、互いに異なる大きさのマーカーであってもよい。
【００３９】
図２は、パターンＰＮの一例を示す図である。図２に示したように、パターンＰＮには、マーカーＭＫ１〜マーカーＭＫ５が含まれる。この一例において、マーカーＭＫ１〜マーカーＭＫ５のそれぞれは、図心マーカーである。なお、マーカーＭＫ１〜マーカーＭＫ５の一部又は全部は、図心マーカーに代えて、他のマーカーであってもよい。
【００４０】
ここで、図心マーカーの図心について説明する。図３は、図心を説明するための図である。図３には、輪郭が曲線によって形成された図形Ｆ０と、図形Ｆ０を構成する各点の位置を表すための二次元座標系と、当該各点の位置を示すベクトルｒ＿ｉとが示されている。ここで、図３では、ベクトルｒを、ｒの上に矢印を付帯させることによって表している。また、図３では、ベクトルｒ＿ｉの「＿」の後に付された「ｉ」を、ｒの下付き添え字ｉによって表している。また、添え字ｉは、図形Ｆ０を構成する各点（例えば、画素）を区別するためのラベルである。また、図３において、二次元座標系の原点から図形Ｆ０へ伸びる矢印は、ベクトルｒ＿ｉの大きさ及び方向を表す矢印である。
【００４１】
図心は、云わば図形の中心である。図心は、１つの図形に対して１つのみ一意に決まる。図３に示した図形Ｆ０の図心の位置は、ベクトルｒ＿ｉを用いて、以下に示した式（１）によって定義されるベクトルｃにより表される。
【００４２】
【数１】
2018001333.tif 000003
【００４３】
式（１）において、ベクトルｃは、ｃの上に矢印を付帯させることによって表している。また、Ｎは、図形Ｆ０を構成する各点の数であり、１以上の整数である。すなわち、図３に示した図形Ｆ０の図心の位置は、図形Ｆ０を構成する各点の位置を表すベクトルの総和を、当該各点の数によって除したベクトル（Ｎ個のベクトルの平均）によって表される。なお、図３では、二次元の図形Ｆ０と、二次元の座標系と、二次元のベクトルとを用いて図心について説明したが、図心の位置は、三次元以上の図形に対しても上記の式（１）によって定義されるベクトルｃによって表される。
【００４４】
図心マーカーは、３つ以上の図形の組み合わせによって構成されるマーカーである。つまり、図心マーカーを構成する当該３つ以上の図形それぞれの図心は、所定の範囲内に収まる（含まれる）。例えば、図形Ａ０と、図形Ｂ０と、図形Ｃ０との組み合わせによって構成される図心マーカーでは、図形Ａ０の図心Ａ１と、図形Ｂ０の図心Ｂ１と、図形Ｃ０の図心Ｃ１とが所定の範囲内に収まる（含まれる）。所定の範囲は、例えば、半径が数画素程度の円形の範囲であるが、半径が１画素未満の円形の範囲であってもよく、半径が数画素以上の円形の範囲であってもよく、矩形等の円形とは異なる他の形状の範囲であってもよい。
【００４５】
次に、図２に示したマーカーＭＫ１〜マーカーＭＫ５のうちマーカーＭＫ１を例に挙げて図心マーカーについて説明する。図４は、図２に示したマーカーＭＫ１を示す図である。図４に示した通り、マーカーＭＫ１は、３つ以上の図形によって構成されている。具体的には、マーカーＭＫ１を構成する３つ以上の図形のそれぞれは、二値化画像において白色又は黒色のみの部分領域として検出される。すなわち、マーカーＭＫ１は、輪郭が円形状の黒色の部分領域によって表される図形Ｍ１１と、輪郭がリング形状の白色の部分領域によって表される図形Ｍ１２と、輪郭がリング形状の黒色の部分領域によって表される図形Ｍ１３との３つの図形によって構成されている。また、マーカーＭＫ１は、図形Ｍ１１と、図形Ｍ１２と、図形Ｍ１３とのそれぞれの図心が、所定の範囲内に収まるように作られている。このため、図形Ｍ１１と、図形Ｍ１２と、図形Ｍ１３との組み合わせによって構成されるマーカーＭＫ１は、図心マーカーである。なお、マーカーＭＫ１における図形Ｍ１１〜図形Ｍ１３は、それぞれの輪郭が同心円を構成し、図心が当該同心円の中心に位置する。なお、図心マーカーは、図心マーカーを構成する３つ以上の図形の組み合わせが同心円を構成しない組み合わせであってもよい。しかし、この場合であっても、図心マーカーは、図心マーカーを構成する３つ以上の図形それぞれの図心が、所定の範囲内に収まる。マーカーＭＫ１〜マーカーＭＫ５のそれぞれが図心マーカーである場合、偶発的に３つの図心が所定の範囲内に収まる可能性が低いため、校正ボードＣＢは、マーカーＭＫ１〜マーカーＭＫ５のそれぞれの誤検出を抑制し、マーカーＭＫ１〜マーカーＭＫ５のそれぞれを精度よく検出させることができる。
【００４６】
このような図心マーカーであるマーカーＭＫ１〜マーカーＭＫ５は、パターンＰＮにおいて、図５に示したように回転対称性を有さない凸包の頂点に位置する。図５は、パターンＰＮにおけるマーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係の一例を示す図である。すなわち、マーカーＭＫ１〜マーカーＭＫ５のそれぞれは、パターンＰＮにおいて、回転対称性を有さない凸五角形である凸包の各頂点に配置される。図５に示した凸包ＣＨ１は、マーカーＭＫ１〜マーカーＭＫ５のそれぞれが頂点に位置する回転対称性を有さない凸包の一例である。このようなマーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係により、マーカーＭＫ１〜マーカーＭＫ５の中から選択可能な３個のマーカーの組み合わせは、いずれも一直線上に並ぶことがない。また、前述した通り、凸包ＣＨ１における第１マーカーであるマーカーＭＫ１を含む辺の長さは、凸包ＣＨ１における他の辺の長さよりも長い。
【００４７】
図２に戻る。この一例におけるパターンＰＮには、ｎ個の黒丸である黒丸ＢＣ１〜黒丸ＢＣｎと、マーカーＯＰと、マーカーＸＰ１と、マーカーＸＰ２と、マーカーＹＰ１と、マーカーＹＰ２が更に含まれる。ここで、ｎは、任意の整数である。なお、パターンＰＮには、ｎ個の黒丸である黒丸ＢＣ１〜黒丸ＢＣｎと、マーカーＯＰと、マーカーＸＰ１と、マーカーＸＰ２と、マーカーＹＰ１と、マーカーＹＰ２との一部又は全部が含まれない構成であってもよい。また、マーカーＸＰ１及びマーカーＸＰ２の少なくとも一方は、第１基準部分の一例である。また、マーカーＹＰ１及びマーカーＹＰ２の少なくとも一方は、第２基準部分の一例である。
【００４８】
黒丸ＢＣ１〜黒丸ＢＣｎのそれぞれは、パターンＰＮ内の領域を正方格子状に区切った場合における各格子点に配置される。また、黒丸ＢＣ１〜黒丸ＢＣｎのうちのある黒丸がマーカーＭＫ１〜マーカーＭＫ５のいずれかのマーカーと重なる位置では、当該黒丸が削除され、当該マーカーが当該位置に配置される。このような黒丸ＢＣ１〜黒丸ＢＣｎは、例えば、校正ボードＣＢによって撮像部１０の歪補正を行う際に用いられる。また、このような黒丸ＢＣ１〜黒丸ＢＣｎは、ロボット制御装置３０が校正ボードＣＢの姿勢を検出する精度を向上させるために用いることも可能である。なお、黒丸ＢＣ１〜黒丸ＢＣｎのうちの一部又は全部は、他の形状であってもよく、他の大きさであってもよく、他の色であってもよい。この場合、当該一部又は全部は、マーカーＭＫ１〜マーカーＭＫ５、マーカーＯＰ、マーカーＸＰ１、マーカーＸＰ２、マーカーＹＰ１、マーカーＹＰ２のいずれと比較しても識別可能でなければならない。
【００４９】
マーカーＯＰは、パターンＰＮ上の位置を表す座標系の原点を示すマーカーである。図２に示したマーカーＯＰは、複数の黒丸ＢＣ１〜黒丸ＢＣｎのそれぞれよりも直径が大きな黒丸によって表されている。なお、マーカーＯＰは、当該黒丸に代えて、複数の黒丸ＢＣ１〜黒丸ＢＣｎのそれぞれよりも直径が小さな黒丸であってもよく、他の形状のマーカーであってもよく、他の色のマーカーであってもよい。マーカーＯＰは、マーカーＭＫ１〜マーカーＭＫ５のそれぞれが頂点に位置する凸包ＣＨ１の内部（内側）に位置する（図５参照）。この一例において、マーカーＯＰの位置は、マーカーＭＫ１〜マーカーＭＫ５のうち最も距離が離れた２つのマーカー間の中点の位置である。すなわち、マーカーＯＰは、マーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じた位置を表す。ここで、マーカーＯＰが黒丸ＢＣ１〜黒丸ＢＣｎのうちのある黒丸と重なる位置では、当該黒丸が削除され、マーカーＯＰが当該位置に配置される。なお、マーカーＯＰは、パターンＰＮに含まれない構成であってもよい。ただし、マーカーＯＰがパターンＰＮに含まれることにより、校正ボードＣＢは、マーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じた位置の誤検出を抑制し、当該位置を精度よく検出させることができる。また、マーカーＯＰは、マーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係と無関係な位置を表す構成であってもよい。すなわち、マーカーＯＰの位置は、凸包ＣＨ１の内部であれば、如何なる位置であってもよい。
【００５０】
マーカーＸＰ１及びマーカーＸＰ２の形状及び大きさは、この一例において、マーカーＯＰの形状及び大きさと同じ形状及び大きさである。この一例において、マーカーＸＰ１とマーカーＸＰ２は、マーカーＸＰ１とマーカーＸＰ２を結ぶ直線上にマーカーＯＰが位置するように配置される。また、マーカーＸＰ１とマーカーＸＰ２とは、前述の正方格子が有する辺のうちの一辺と当該直線とが平行になるように配置される。すなわち、マーカーＸＰ１とマーカーＸＰ２とを結ぶ直線は、パターンＰＮ上において原点となるマーカーＯＰを通るＸ軸を表している。ここで、マーカーＸＰ１が黒丸ＢＣ１〜黒丸ＢＣｎのうちのある黒丸と重なる位置では、当該黒丸が削除され、マーカーＸＰ１が当該位置に配置される。また、マーカーＸＰ２の位置が黒丸ＢＣ１〜黒丸ＢＣｎのうちのある黒丸と重なる位置では、当該黒丸が削除され、マーカーＸＰ２が当該位置に配置される。なお、マーカーＸＰ１及びマーカーＸＰ２は、パターンＰＮに含まれない構成であってもよい。ただし、マーカーＸＰ１及びマーカーＸＰ２がパターンＰＮに含まれることにより、校正ボードＣＢは、マーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じたＸ軸であって校正ボードＣＢの姿勢を表す座標系におけるＸ軸の誤検出を抑制し、当該Ｘ軸を精度よく検出させることができる。また、マーカーＸＰ１とマーカーＸＰ２とのいずれか一方又は両方は、他の形状であってもよく、他の大きさであってもよく、他の色であってもよい。
【００５１】
マーカーＹＰ１及びマーカーＹＰ２の形状及び大きさは、この一例において、マーカーＯＰの形状及び大きさと同じ形状及び大きさである。この一例において、マーカーＹＰ１とマーカーＹＰ２は、マーカーＹＰ１とマーカーＹＰ２を結ぶ直線上にマーカーＯＰが位置するように配置される。また、マーカーＹＰ１とマーカーＹＰ２は、マーカーＸＰ１とマーカーＸＰ２とを結ぶ直線と、マーカーＹＰ１とマーカーＹＰ２とを結ぶ直線とが直交するように配置される。すなわち、マーカーＹＰ１とマーカーＹＰ２とを結ぶ直線は、パターンＰＮ上において原点となるマーカーＯＰを通るＹ軸を表している。ここで、マーカーＹＰ１が黒丸ＢＣ１〜黒丸ＢＣｎのうちのある黒丸と重なる位置では、当該黒丸が削除され、マーカーＹＰ１が当該位置に配置される。また、マーカーＹＰ２が黒丸ＢＣ１〜黒丸ＢＣｎのうちのある黒丸と重なる位置では、当該黒丸が削除され、マーカーＹＰ２が当該位置に配置される。なお、マーカーＹＰ１及びマーカーＹＰ２は、パターンＰＮに含まれない構成であってもよい。ただし、マーカーＹＰ１及びマーカーＹＰ２がパターンＰＮに含まれることにより、校正ボードＣＢは、マーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じたＹ軸であって校正ボードＣＢの姿勢を表す座標系におけるＹ軸の誤検出を抑制し、当該Ｙ軸を精度よく検出させることができる。また、マーカーＹＰ１とマーカーＹＰ２とのいずれか一方又は両方は、他の形状であってもよく、他の大きさであってもよく、他の色であってもよい。
【００５２】
＜ロボット制御装置のハードウェア構成＞
以下、図６を参照し、ロボット制御装置３０のハードウェア構成について説明する。図６は、ロボット制御装置３０のハードウェア構成の一例を示す図である。
【００５３】
ロボット制御装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。また、ロボット制御装置３０は、通信部３４を介して撮像部１０、ロボット２０のそれぞれと通信を行う。
【００５４】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部３２は、ロボット制御装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、ロボット制御装置３０が処理する各種情報、ロボット２０を動作させる動作プログラムを含む各種プログラム、各種画像等を格納する。
【００５５】
入力受付部３３は、例えば、表示部３５と一体に構成されたタッチパネルである。なお、入力受付部３３は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００５６】
＜ロボット制御装置の機能構成＞
以下、図７を参照し、ロボット制御装置３０の機能構成について説明する。図７は、ロボット制御装置３０の機能構成の一例を示す図である。
【００５７】
ロボット制御装置３０は、記憶部３２と、制御部３６を備える。
【００５８】
制御部３６は、ロボット制御装置３０の全体を制御する。制御部３６は、撮像制御部４１と、画像取得部４３と、検出部４５と、校正部４７と、位置姿勢算出部４９と、ロボット制御部５１を備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【００５９】
撮像制御部４１は、撮像部１０が撮像可能な範囲を撮像部１０に撮像させる。
画像取得部４３は、撮像部１０が撮像した撮像画像を撮像部１０から取得する。
検出部４５は、画像取得部４３が取得した撮像画像に基づいて、撮像画像に含まれるマーカーＭＫ１〜マーカーＭＫ５それぞれの候補であるマーカー候補を検出する。検出部４５は、検出したマーカー候補に基づいて、マーカーＭＫ１〜マーカーＭＫ５からなるパターンＰＮを検出する。また、検出部４５は、画像取得部４３が取得した撮像画像に基づいて、撮像画像に含まれるマーカーＯＰを検出する。また、検出部４５は、画像取得部４３が取得した撮像画像に基づいて、撮像画像に含まれるマーカーＸＰ１及びマーカーＸＰ２を検出する。また、検出部４５は、画像取得部４３が取得した撮像画像に基づいて、撮像画像に含まれるマーカーＹＰ１及びマーカーＹＰ２を検出する。
【００６０】
校正部４７は、検出部４５が検出したパターンＰＮに基づいて、撮像部座標系ＣＣとロボット座標系ＲＣとを対応付ける校正を行う。
位置姿勢算出部４９は、検出部４５が検出したパターンＰＮに基づいて、マーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じた位置及び姿勢を算出する。なお、位置姿勢算出部４９は、検出部４５が検出したパターンＰＮに基づいて、マーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じた位置又は姿勢を算出する構成であってもよい。
ロボット制御部５１は、位置姿勢算出部４９が算出した位置及び姿勢に基づいて、ロボット２０に所定の作業を行わせる。
【００６１】
＜ロボット制御装置が校正を行う処理＞
以下、図８を参照し、ロボット制御装置３０が校正を行う処理について説明する。当該校正は、撮像部座標系ＣＣとロボット座標系ＲＣとの対応付けを行う校正である。図８は、ロボット制御装置３０が校正を行う処理の流れの一例を示すフローチャートである。なお、前述した通り、以下では、ロボット制御装置３０には、校正ボード座標系とロボット座標系ＲＣとを対応付ける校正が予め行われている場合について説明する。
【００６２】
検出部４５は、記憶部３２に予め記憶された基準パターンを記憶部３２から読み出す（ステップＳ１０５）。ここで、ステップＳ１０５の処理について説明する。基準パターンは、撮像画像に含まれるマーカーＭＫ１〜マーカーＭＫ５を検出部４５が検出するために用いる比較対象となる画像である。図９は、基準パターンの一例を示す図である。図９に示した基準パターンＢＰは、このような基準パターンの一例である。基準パターンＢＰには、マーカーＭＫ１と、マーカーＭＫ２と、マーカーＭＫ３と、マーカーＭＫ４と、マーカーＭＫ５とが予め決められた所定の相対的な位置関係となるように配置される。当該位置関係は、パターンＰＮに含まれるマーカーＭＫ１〜マーカーＭＫ５のそれぞれの幾何学的な位置関係と同じ位置関係である。すなわち、マーカーＭＫ１〜マーカーＭＫ５のそれぞれは、前述の凸包ＣＨ１と同じ形状の凸包である凸包ＢＣＨの各頂点に位置する。
【００６３】
また、基準パターンＢＰには、基準パターンＢＰに含まれるマーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じた位置及び姿勢を表す二次元座標系ＢＣが対応付けられている。当該位置は、二次元座標系ＢＣにおける原点のロボット座標系ＲＣにおける位置によって表される。また、当該姿勢は、二次元座標系ＢＣにおける各座標軸のロボット座標系ＲＣにおける方向によって表される。なお、図９に示した二次元座標系ＢＣの原点の位置は、凸包ＢＣＨの内側に位置しているが、凸包ＢＣＨの外側に位置する構成であってもよい。
【００６４】
より具体的には、基準パターンＢＰを構成するマーカーＭＫ１〜マーカーＭＫ５のそれぞれは、図１０に示した座標に基づいて基準パターンＢＰ上に配置される。図１０は、図９に示した二次元座標系ＢＣにおけるマーカーＭＫ１〜マーカーＭＫ５それぞれのＸ座標及びＹ座標を示すテーブルである。図９及び図１０に示した例では、二次元座標系ＢＣにおけるＸ軸の正方向は、マーカーＭＫ４からマーカーＭＫ５に向かう方向と一致している。また、二次元座標系ＢＣにおけるＹ軸の正方向は、マーカーＭＫ３からマーカーＭＫ２に向かう方向と一致している。なお、二次元座標系ＢＣにおけるＸ軸の正方向及びＹ軸の正方向は、他の方向と一致している構成であってもよい。図１０に示したＸ座標及びＹ座標の値は、マーカーＭＫ１〜マーカーＭＫ５のうち二次元座標系ＢＣの原点に最も近いマーカーと二次元座標系ＢＣの原点との相対的な距離を１０として算出された値である。このため、図１０に示したＸ座標及びＹ座標の値には、単位を示していない。
【００６５】
ステップＳ１０５の処理が行われた後、撮像制御部４１は、撮像部１０が撮像可能な範囲を撮像部１０に撮像させる（ステップＳ１１０）。次に、画像取得部４３は、ステップＳ１１０において撮像部１０が撮像した撮像画像を撮像部１０から取得する（ステップＳ１２０）。次に、検出部４５は、ステップＳ１２０において画像取得部４３が取得した撮像画像に基づいて、撮像画像に含まれるマーカーＭＫ１〜マーカーＭＫ５のそれぞれの候補であるマーカー候補を検出する（ステップＳ１３０）。ここで、ステップＳ１３０の処理について説明する。
【００６６】
ステップＳ１３０において検出部４５は、ステップＳ１２０において画像取得部４３が取得した撮像画像に含まれる複数の図形の中から図３に示した図心マーカーであると判定可能な図形をマーカー候補として検出する。すなわち、検出部４５は、当該複数の図形の中から、３つ以上の図心が所定の範囲内に収まっていると判定可能な図形の組み合わせをマーカー候補として検出する。当該組み合わせには、ノイズが含まれる。ノイズは、この一例において、図３に示した図心マーカーとして撮像画像の中から検出部４５により誤検出される他のマーカー、図形、模様等である。以下では、一例として、検出部４５が６個のマーカー候補であるマーカー候補ＤＰ１〜マーカー候補ＤＰ６のそれぞれを検出した場合について説明する。この場合、検出対象であるマーカーが５個のマーカーＭＫ１〜マーカーＭＫ５であるため、マーカー候補ＤＰ１〜マーカー候補ＤＰ６のうちのいずれか１個は、マーカー候補として誤検出されたノイズである。なお、検出部４５は、当該撮像画像に含まれる複数の図形の中から、パターンマッチングによって当該図心マーカーであると判定可能な図形をマーカー候補として検出する構成であってもよい。この場合、検出部４５は、予め記憶部３２に記憶された図心マーカーのモデル画像を読み出し、読み出した当該モデル画像に基づいてマーカー候補を検出する。なお、検出部４５は、マーカー候補を検出する際、マーカー候補の撮像部座標系ＣＣにおける位置（Ｘ座標及びＹ座標）も検出する。
【００６７】
図１１に示したマーカー候補ＤＰ１〜マーカー候補ＤＰ６のそれぞれは、このようにして検出部４５により検出されたマーカー候補である。図１１は、画像取得部４３が取得した撮像画像のうちの一部分の一例を示す図である。当該一部分は、当該撮像画像のうちマーカーＭＫ１〜マーカーＭＫ５のそれぞれが撮像されている部分である。図１１に示した画像Ｐ１は、当該一部分の一例である。なお、図１１に示した例では、マーカー候補ＤＰ５が、前述のマーカー候補として検出されたノイズである。このため、図１１では、マーカー候補ＤＰ５を他のマーカー候補と区別するために点線によって表している。
【００６８】
ステップＳ１３０の処理が行われた後、検出部４５は、ステップＳ１３０において検出された６個のマーカー候補の中から選択可能な５個のマーカー候補の組み合わせのそれぞれを第０組み合わせとして抽出する。そして、検出部４５は、抽出した１以上の第０組み合わせの中から所定条件を満たす組み合わせを第１組み合わせとして抽出する（ステップＳ１４０）。所定条件は、この一例において、第１組み合わせに含まれる５個のマーカー候補のそれぞれが凸包の頂点に位置することである。ここで、ステップＳ１４０の処理について説明する。
【００６９】
検出部４５は、抽出した第０組み合わせのそれぞれ毎に、第０組み合わせに含まれる５個のマーカー候補に基づく凸包を検出する。検出部４５が、抽出した第０組み合わせのそれぞれ毎に当該凸包を検出する方法は、既存の方法であってもよく、これから開発される方法であってもよい。当該凸包を検出する方法が既存の方法である場合、検出部４５は、例えば、第０組み合わせのそれぞれ毎に、第０組み合わせの中から所定の選択条件を満たすマーカー候補を１つ選択する。所定の選択条件は、以下に示す１）、２）の条件を両方満たすことである。
【００７０】
１）ステップＳ１２０において画像取得部４３が取得した撮像画像内において最も上（撮像部座標系ＣＣにおけるＹ軸の座標が最も大きい位置）に位置しているマーカー候補であること
２）１）の条件を満たすマーカー候補が２個以上ある場合、当該２個以上のマーカー候補のうち最も右（撮像部座標系ＣＣにおけるＸ軸の座標が最も大きい位置）に位置しているマーカー候補であること
【００７１】
なお、所定の選択条件は、上記に示した１）、２）の条件に代えて、他の条件を満たすことであってもよい。また、所定の選択条件は、上記に示した１）、２）の条件に加えて、他の条件を満たすことであってもよい。また、所定の選択条件は、上記に示した１）の条件のみを満たすことであってもよい。
【００７２】
検出部４５は、選択したマーカー候補である選択マーカー候補から、他のマーカー候補のそれぞれまでのベクトルを算出する。検出部４５は、算出した各ベクトルを長さ１のベクトルに正則化する。ここで、これらの正則化したベクトルに含まれるあるベクトルＣＶ１と、当該正則化したベクトルに含まれるあるベクトルＣＶ２との外積「ベクトルＣＶ１×ベクトルＣＶ２」が負の場合、ベクトルＣＶ１が示すマーカー候補は、ベクトルＣＶ２が示すマーカー候補よりも撮像部座標系ＣＣにおけるＸ軸の座標が小さい位置に位置している。そこで、検出部４５は、当該正則化したベクトルのそれぞれ同士の外積を算出し、算出した外積の結果が負か否かを判定することによって、当該Ｘ軸の座標が最も小さいマーカー候補を特定する。検出部４５は、特定したマーカー候補を次の選択マーカー候補として選択する。検出部４５は、このような選択マーカー候補の選択を繰り返し、最初に選択した選択マーカー候補が再び選択マーカー候補として選択されるまで繰り返す。そして、検出部４５は、最初に選択した選択マーカー候補から選択した順に選択マーカー候補として選択されたマーカー候補を直線で結んだ場合に形成される形状、すなわち凸包を検出する。検出部４５は、このような凸包の検出を、第０組み合わせのそれぞれ毎に行う。なお、検出部４５は、当該正則化したベクトルのそれぞれ同士の外積を算出し、算出した外積の結果が正か否かを判定することによって、当該Ｘ軸の座標が最も大きなマーカー候補を特定する構成であってもよい。
【００７３】
検出部４５は、検出された凸包に基づいて、所定条件を満たす第０組み合わせのそれぞれを第１組み合わせとして抽出する。所定条件は、第０組み合わせに含まれるマーカー候補のそれぞれが、当該それぞれに基づいて検出された凸包の頂点に位置していることである。すなわち、検出部４５は、検出された凸包のそれぞれから、凸包の頂点の数が４以下の凸包を除外する。そして、検出部４５は、除外されずに残った凸包、すなわち頂点の数が５の凸包を特定する。検出部４５は、特定した凸包のそれぞれ毎に、凸包を構成するマーカー候補の組み合わせを、所定条件を満たす第０組み合わせ、すなわち第１組み合わせとして抽出する。
【００７４】
ここで、所定条件を満たす第０組み合わせについて、図１２及び図１３を例に挙げて説明する。図１２は、所定条件を満たす組み合わせと判定される可能性のある第０組み合わせの一例を示す図である。図１２に示した第０組み合わせは、マーカー候補ＤＰ３が検出された撮像部座標系ＣＣにおける位置に応じて、所定条件を満たすか否かが変化する。例えば、マーカー候補ＤＰ３とマーカー候補ＤＰ２との外積が０又は正であった場合、検出部４５は、図１２に示した第０組み合わせに基づいて、マーカー候補ＤＰ２、マーカー候補ＤＰ４、マーカー候補ＤＰ５、マーカー候補ＤＰ６の４つのマーカー候補のそれぞれを頂点とする凸包を検出する。図１２に示した凸包ＣＨ２は、このような凸包の一例である。この場合、当該凸包の頂点の数が４であるため、検出部４５は、図１２に示した第０組み合わせを、第１組み合わせとして抽出しない。一方、マーカー候補ＤＰ３とマーカー候補ＤＰ２との外積が負であった場合、検出部４５は、マーカー候補ＤＰ２、マーカー候補ＤＰ３、マーカー候補ＤＰ４、マーカー候補ＤＰ５、マーカー候補ＤＰ６の５つのマーカー候補のそれぞれを頂点とする凸包を検出する。この場合、当該凸包の頂点の数が５であるため、検出部４５は、図１２に示した第０組み合わせを、第１組み合わせとして抽出する。
【００７５】
一方、図１３は、所定条件を満たす組み合わせと判定される第０組み合わせの一例を示す図である。図１３に示した例では、検出部４５は、マーカー候補ＤＰ１〜マーカー候補ＤＰ４、及びマーカー候補ＤＰ５の組み合わせを第０組み合わせとして選択している。この場合、検出部４５は、当該第０組み合わせに基づいて凸包ＣＨ３を検出する。図１３に示したように、凸包ＣＨ３の頂点の数は、５である。このため、検出部４５は、図１３に示した第０組み合わせを、所定条件を満たす組み合わせであると判定し、当該第０組み合わせを第１組み合わせとして抽出する。
【００７６】
また、ステップＳ１４０において、検出部４５は、抽出した第１組み合わせのそれぞれ毎に、第１組み合わせに含まれる各マーカー候補に順番を対応付ける。ここで、図１３に示した第１組み合わせを例に挙げて、当該各マーカー候補に順番を対応付ける処理について説明する。検出部４５は、当該第１組み合わせに含まれる各マーカー候補に対して、各マーカー候補が前述の選択マーカー候補として選択された順番を対応付ける。図１３に示した例では、１番目に選択マーカー候補として選択されたマーカー候補は、マーカー候補ＤＰ１である。このため、検出部４５は、マーカー候補ＤＰ１に対して１番目を表す番号として１を対応付ける。また、当該例では、２番目に選択マーカー候補として選択されたマーカー候補は、マーカー候補ＤＰ４である。このため、検出部４５は、マーカー候補ＤＰ４に対して２番目を表す番号として２を対応付ける。これを繰り返し、検出部４５は、マーカー候補ＤＰ３に３番目の順番を表す番号として３を対応付け、マーカー候補ＤＰ２に４番目の順番を表す番号として４を対応付け、マーカー候補ＤＰ６に５番目の順番を表す番号として５を対応付ける。
【００７７】
ステップＳ１４０の処理が行われた後、検出部４５は、ステップＳ１４０において抽出した１以上の第１組み合わせ毎に、ステップＳ１５５〜ステップＳ１７０の処理を繰り返し行う（ステップＳ１５０）。
【００７８】
検出部４５は、ステップＳ１５０において選択した第１組み合わせに含まれるマーカー候補の中から１個ずつ第１マーカーの候補である第１マーカー候補を選択する。そして、検出部４５は、選択した第１マーカー候補毎にステップＳ１６０〜ステップＳ１７０の処理を繰り返し行う（ステップＳ１５５）。より具体的には、検出部４５は、ステップＳ１５５において選択した第１マーカー候補と、基準パターンＢＰに含まれる第１マーカー（この一例において、マーカーＭＫ１）とが一致するように、ステップＳ１５０において選択した第１組み合わせに含まれる５個のマーカー候補のそれぞれを、基準パターンＢＰに含まれるマーカーＭＫ１〜マーカーＭＫ５のそれぞれに写像するホモグラフィー変換を行う。
【００７９】
次に、検出部４５は、ステップＳ１６０において行ったホモグラフィー変換の結果と、基準パターンＢＰとを比較し、当該結果と基準パターンＢＰとの整合性を表す値として、当該結果と基準パターンＢＰとの残差を算出する（ステップＳ１７０）。残差の算出方法については、既知の方法であってもよく、これから開発される方法であってもよい。ここで、図１４〜図１６を参照し、ステップＳ１６０〜ステップＳ１７０の処理について説明する。なお、ここでは、図１３に示した第０組み合わせがステップＳ１５０において選択された第１組み合わせである場合を例に挙げて説明する。
【００８０】
図１４は、ステップＳ１３０において検出部４５によって検出されたＸ座標及びＹ座標であってマーカー候補ＤＰ１〜マーカー候補ＤＰ６それぞれの撮像部座標系ＣＣにおけるＸ座標及びＹ座標の一例を示すテーブルである。
【００８１】
図１５は、ステップＳ１６０においてホモグラフィー変換が行われた後の第１組み合わせに含まれる各マーカー候補の二次元座標系ＢＣにおける座標の一例を示す図である。図１５に示した例では、検出部４５は、マーカー候補ＤＰ１を第１マーカー候補として選択している。この場合、検出部４５は、ステップＳ１７０において、図１５に示したホモグラフィー変換の結果と基準パターンＢＰとの残差を３．２６と算出する。
【００８２】
一方、図１６は、ステップＳ１６０においてホモグラフィー変換が行われた後の第１組み合わせに含まれる各マーカー候補の二次元座標系ＢＣにおける座標の他の例を示す図である。図１６に示した例では、検出部４５は、マーカー候補ＤＰ６を第１マーカー候補として選択している。この場合、検出部４５は、ステップＳ１７０において、図１６に示したホモグラフィー変換の結果と基準パターンＢＰとの残差を０．０１５８と算出する。
【００８３】
ステップＳ１５０〜ステップＳ１７０の繰り返し処理によって第１組み合わせと第１マーカー候補との組み合わせのそれぞれ毎に対応する残差が算出された後、検出部４５は、最も小さい残差に対応する当該組み合わせを特定する。なお、検出部４５は、このようなホモグラフィー変換に基づく当該組み合わせの特定により、図１２に示すような基準パターンＢＰに整合しないパターンを構成する第１組み合わせを除外することができる。このため、検出部４５は、ステップＳ１４０において、当該第１組み合わせが除外できなかった場合であっても、ステップＳ１５０〜ステップＳ１７０の繰り返し処理によって当該第１組み合わせを除外することができる。そして、検出部４５は、特定した当該最も小さい残差に対応する組み合わせにおける第１組み合わせに含まれる５個のマーカー候補を、基準パターンＢＰに整合するパターンであるパターンＰＮを構成するマーカー候補として検出する（ステップＳ１８０）。
【００８４】
次に、検出部４５は、ステップＳ１８０において検出したマーカー候補の組み合わせを含む第１組み合わせに対応する残差が所定閾値未満であるか否かを判定する（ステップＳ１９０）。当該残差が所定閾値未満ではないと判定した場合（ステップＳ１９０−ＮＯ）、検出部４５は、ステップＳ１２０において画像取得部４３が取得した撮像画像に基づいてパターンＰＮを検出することができなかったと判定する。そして、撮像制御部４１は、ステップＳ１１０に遷移し、再び撮像部１０が撮像可能な範囲を撮像部１０に撮像させる。一方、当該残差が所定閾値未満であると判定した場合（ステップＳ１９０−ＹＥＳ）、検出部４５は、ステップＳ１８０において検出した５個のマーカー候補をマーカーＭＫ１〜マーカーＭＫ５として検出（特定）する。すなわち、検出部４５は、当該場合、当該マーカー候補からなるパターンＰＮを検出する（ステップＳ１９５）。
【００８５】
次に、検出部４５は、ステップＳ１９５において検出したパターンＰＮに含まれるマーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じた位置であって撮像部座標系ＣＣにおける位置を検出する（ステップＳ２００）。具体的には、検出部４５は、基準パターンＢＰに対応付けられた二次元座標系ＢＣの原点の撮像部座標系ＣＣにおける位置を、ホモグラフィー変換（ステップＳ１６０において行ったホモグラフィー変換に対する逆ホモグラフィー変換）によって算出する。なお、この一例において、パターンＰＮには、マーカーＯＰが含まれている。このため、検出部４５は、マーカーＯＰの撮像部座標系ＣＣにおける位置を、ステップＳ１９５において検出したパターンＰＮに含まれるマーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じた位置として検出することもできる。この場合、検出部４５は、パターンＰＮを構成するマーカーＭＫ１〜マーカーＭＫ５のそれぞれが頂点に位置する凸包ＣＨ１の内部に存在するマーカーＯＰを検出する。検出部４５は、例えば、パターンマッチングによってマーカーＯＰを検出する。そして、検出部４５は、検出したマーカーＯＰの撮像部座標系ＣＣにおける位置を、ステップＳ１９５において検出したパターンＰＮに含まれるマーカーＭＫ１〜マーカーＭＫ５の幾何学的な位置関係に応じた位置として検出する。これにより、検出部４５は、ホモグラフィー変換の精度に依らず、高い精度で当該位置を検出することができる。なお、検出部４５は、パターンマッチングに代えて、他の方法によってマーカーＯＰを検出する構成であってもよい。
【００８６】
次に、検出部４５は、ステップＳ１９５において検出したパターンＰＮ上のＸ軸及びＹ軸であって撮像部座標系ＣＣにおける当該Ｘ軸及び当該Ｙ軸のそれぞれを検出する（ステップＳ２１０）。具体的には、検出部４５は、基準パターンＢＰに対応付けられた二次元座標系ＢＣにおける各座標軸の撮像部座標系ＣＣにおける方向を、ホモグラフィー変換（ステップＳ１６０において行ったホモグラフィー変換に対する逆ホモグラフィー変換）によって検出する。なお、この一例において、パターンＰＮには、マーカーＸＰ１、マーカーＸＰ２、マーカーＹＰ１、マーカーＹＰ２のそれぞれが含まれている。このため、検出部４５は、マーカーＸＰ１、マーカーＸＰ２、マーカーＹＰ１、マーカーＹＰ２のそれぞれに基づいて、ステップＳ１９５において検出したパターンＰＮ上のＸ軸及びＹ軸であって撮像部座標系ＣＣにおける当該Ｘ軸及び当該Ｙ軸のそれぞれを検出することもできる。この場合、検出部４５は、パターンＰＮを構成するマーカーＭＫ１〜マーカーＭＫ５のそれぞれが頂点に位置する凸包ＣＨ１の外部に存在するマーカーＸＰ１、マーカーＸＰ２、マーカーＹＰ１、マーカーＹＰ２のそれぞれを検出する。検出部４５は、例えば、パターンマッチングによってマーカーＸＰ１、マーカーＸＰ２、マーカーＹＰ１、マーカーＹＰ２のそれぞれを検出する。そして、検出部４５は、検出したマーカーＸＰ１とマーカーＸＰ２との両方を通る直線を当該Ｘ軸として検出する。また、検出部４５は、検出したマーカーＹＰ１とマーカーＹＰ２との両方を通る直線を当該Ｙ軸として検出する。これにより、検出部４５は、ホモグラフィー変換の精度に依らず、高い精度で当該Ｘ軸及び当該Ｙ軸を検出することができる。
【００８７】
次に、校正部４７は、ステップＳ１９５において検出されたパターンＰＮと、ステップＳ２００において検出された原点の位置と、ステップＳ２１０において検出されたＸ軸及びＹ軸とに基づいて、撮像部座標系ＣＣとロボット座標系ＲＣとの対応付けを行い（ステップＳ２２０）、処理を終了する。具体的には、校正部４７は、当該パターンＰＮと、当該原点の位置と、当該Ｘ軸及び当該Ｙ軸とに基づいて、ロボット座標系ＲＣと校正ボードＣＢ上の位置を表す座標系である校正ボード座標系（この一例において、二次元座標系ＢＣ）とを対応付ける校正を行う。校正部４７は、この校正の結果と、ロボット座標系ＲＣと校正ボード座標系との対応付けの結果とに基づいて、撮像部座標系ＣＣとロボット座標系ＲＣとの対応付けを行う。
【００８８】
このように、ロボット制御装置３０は、撮像部１０により撮像された撮像画像に含まれるマーカー候補から、それぞれが凸包の頂点に位置する４個以上である所定数のマーカーからなる基準パターンＢＰに整合する所定数のマーカー候補を検出する。これにより、ロボット制御装置３０は、４個以上のマーカーに応じた位置を精度よく検出することができる。
【００８９】
＜ロボットに所定の作業を行わせる際にロボット制御装置が行う処理＞
以下、図１７及び図１８を参照し、ロボット２０に所定の作業を行わせる際にロボット制御装置３０が行う処理について説明する。
【００９０】
図１７は、ロボット２０に所定の作業を行わせる際におけるロボットシステム１の構成の一例を示す図である。図１７に示した構成は、図１に示した構成と作業台ＴＢに載置された物体が異なる。図１７に示した構成では、作業台ＴＢの上面には、校正ボードＣＢに代えて、対象物Ｏが載置されている。対象物Ｏは、例えば、製品に組み付けるプレート、ネジ、ボルト等の産業用の部品や部材である。なお、対象物Ｏは、産業用の部品や部材に代えて、日用品や生体等の他の物体であってもよい。図１に示した例では、対象物Ｏは、立方体形状の物体として表している。なお、対象物Ｏの形状は、立方体形状に代えて、他の形状であってもよい。
【００９１】
対象物Ｏが有する面のうち作業台ＴＢの上面に接面している面に対向している面には、パターンＰＮ２が設けられている。パターンＰＮ２は、パターンＰＮからｎ個の黒丸ＢＣ１〜ＢＣｎが省略されたパターンである。すなわち、パターンＰＮ２には、マーカーＭＫ１〜マーカーＭＫ５のそれぞれと、マーカーＯＰと、マーカーＸＰ１と、マーカーＸＰ２と、マーカーＹＰ１と、マーカーＹＰ２とが含まれる。なお、パターンＰＮ２は、パターンＰＮと同じパターンであってもよい。
【００９２】
図１７に示した例では、ロボット制御装置３０がロボット２０に行わせる所定の作業は、対象物Ｏを把持し、把持した対象物Ｏを図示しない給材領域に給材する作業である。ここで、図１８を参照し、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理について説明する。図１８は、ロボット制御装置３０がロボット２０に所定の作業を行わせる処理の流れの一例を示すフローチャートである。なお、図１７に示したフローチャートのステップＳ１０５〜ステップＳ１９５の処理は、図８に示したフローチャートのステップＳ１０５〜ステップＳ１９５の処理と同様の処理であるため説明を省略する。
【００９３】
位置姿勢算出部４９は、ステップＳ１９５において検出したパターンＰＮ上の位置を表す座標系の原点の位置であって撮像部座標系ＣＣにおける位置を検出する。そして、位置姿勢算出部４９は、検出した当該位置に基づいて対象物Ｏのロボット座標系ＲＣにおける位置を算出する（ステップＳ３１０）。
【００９４】
次に、位置姿勢算出部４９は、ステップＳ１９５において検出したパターンＰＮ上のＸ軸及びＹ軸であって撮像部座標系ＣＣにおける当該Ｘ軸及び当該Ｙ軸のそれぞれを検出する。そして、位置姿勢算出部４９は、検出した当該Ｘ軸の方向及び当該Ｙ軸の方向それぞれのロボット座標系ＲＣにおける方向を対象物Ｏの姿勢として算出する（ステップＳ３２０）。
【００９５】
次に、ロボット制御部５１は、ステップＳ３１０において算出されたロボット座標系ＲＣにおける対象物Ｏの位置と、ステップＳ３２０において算出されたロボット座標系ＲＣにおける対象物Ｏの姿勢とに基づいて、ロボット２０に所定の作業を行わせ（ステップＳ３３０）、処理を終了する。
【００９６】
このように、ロボット制御装置３０は、図１８に示したフローチャートの処理により、それぞれが凸包の頂点に位置する４個以上のマーカーからなるパターンＰＮが撮像部１０により撮像された撮像画像に基づいてロボット２０を動作させる。これにより、ロボット制御装置３０は、４個以上のマーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業をロボット２０に精度よく行わせることができる。
【００９７】
＜実施形態の変形例１＞
以下、図１９及び図２０を参照し、実施形態の変形例１について説明する。実施形態の変形例１では、ロボット制御装置３０は、図８に示したステップＳ１５５の処理に代えて、図１９に示したステップＳ５１０の処理を行う。図１９は、ロボット制御装置３０が校正を行う処理の流れの他の例を示すフローチャートである。なお、図１９に示したステップＳ１０５〜ステップＳ１０５の処理と、ステップＳ１６０〜ステップＳ２２０の処理とのそれぞれは、図８に示したステップＳ１０５〜ステップＳ１０５の処理と、ステップＳ１６０〜ステップＳ２２０の処理とのそれぞれと同じ処理であるため説明を省略する。
【００９８】
ステップＳ５１０において、検出部４５は、ステップＳ１５０において選択した第１組み合わせに含まれるマーカー候補の中から第１マーカーを特定する（ステップＳ５１０）。ここで、ステップＳ５１０の処理について説明する。検出部４５は、当該第１組み合わせに含まれるマーカー候補の中から選択可能な２個のマーカー候補の組み合わせをマーカー候補対として抽出する。検出部４５は、抽出したマーカー候補対のそれぞれ毎に、マーカー候補対に含まれる２個のマーカー候補間の距離を算出する。
【００９９】
図２０は、各マーカー候補対に含まれるマーカー候補間の距離であって検出部４５により算出された距離の一例を示す図である。検出部４５は、マーカー候補対毎に算出した距離のうち最も長い距離に対応するマーカー候補対と、マーカー候補対毎に算出した距離のうち２番目に長い距離に対応するマーカー候補対とを特定する。そして、検出部４５は、特定した２つのマーカー候補対の両方に共通して含まれるマーカー候補を第１マーカーとして特定する。図２０に示した例では、マーカー候補ＤＰ６とマーカー候補ＤＰ１とを含むマーカー候補対に対応する距離が最も長く、マーカー候補ＤＰ２とマーカー候補ＤＰ６とを含むマーカー候補対に対応する距離が２番目に長い。そして、これらのマーカー候補対の両方に共通して含まれるマーカー候補は、マーカー候補ＤＰ６である。従って、検出部４５は、図２０に示した例において、マーカー候補ＤＰ６を第１マーカーとして特定する。
【０１００】
このように、ロボット制御装置３０は、ステップＳ５１０の処理によって第１マーカーを特定するため、ステップＳ１５５の繰り返し処理を行う必要がなくなり、撮像部座標系ＣＣとロボット座標系ＲＣとの対応付けを行う校正に要する時間を短縮することができる。そして、ロボット制御装置３０は、実施形態と同様の効果を得ることができる。
【０１０１】
＜実施形態の変形例２＞
以下、図２１を参照し、実施形態の変形例２について説明する。実施形態の変形例２において、校正ボードＣＢには、マーカーＸＰ１とマーカーＯＰとを結ぶ直線上に２以上のマーカーＸＰ１が第１基準部分ＸＰ１１として並べて配置されている。また、校正ボードＣＢには、マーカーＸＰ２とマーカーＯＰとを結ぶ直線上に２以上のマーカーＸＰ２が第１基準部分ＸＰ１２として並べて配置されている。また、校正ボードＣＢには、マーカーＹＰ１とマーカーＯＰとを結ぶ直線上に２以上のマーカーＹＰ１が第２基準部分ＹＰ２１として並べて配置されている。また、校正ボードＣＢには、マーカーＹＰ２とマーカーＯＰとを結ぶ直線上に２以上のマーカーＹＰ２が第２基準部分ＹＰ２２として並べて配置されている。
【０１０２】
図２１は、実施形態の変形例２に係る校正ボードＣＢの一例を示す図である。図２１に示した例では、第１基準部分ＸＰ１１には、１３個のマーカーＸＰ１が一直線上に並べて配置されている。また、第１基準部分ＸＰ１２には、１３個のマーカーＸＰ２が一直線上に並べて配置されている。また、第２基準部分ＹＰ１１には、１３個のマーカーＹＰ１が一直線上に並べて配置されている。また、第２基準部分ＹＰ２２には、１３個のマーカーＹＰ２が一直線上に並べて配置されている。
【０１０３】
実施形態の変形例２に係る校正ボードＣＢを用いた場合、検出部４５は、第１基準部分ＸＰ１１においてマーカーＸＰ１が並べられている方向と、第１基準部分ＸＰ１２においてマーカーＸＰ２が並べられている方向との少なくとも一方をパターンＰＮ上のＸ軸方向として検出する。また、当該場合、検出部４５は、第２基準部分ＹＰ２１においてマーカーＹＰ１が並べられている方向と、第２基準部分ＹＰ２２においてマーカーＹＰ２が並べられている方向との少なくとも一方をパターンＰＮ上のＹ軸方向として検出する。
【０１０４】
また、校正ボードＣＢに第１基準部分ＸＰ１１、第１基準部分ＸＰ１２、第２基準部分ＹＰ１１、第２基準部分ＹＰ１２が含まれている場合、ロボット制御装置３０は、撮像部１０により撮像された撮像画像に校正ボードＣＢの一部のみが含まれていたとしても、当該一部に基づいて、撮像部１０が撮像可能な範囲内に校正ボードＣＢが有するパターンＰＮの全体が含まれるように撮像部１０の光軸の方向を変化させることができる。ただし、この場合、撮像部１０の光軸の方向を変化させる機構部が撮像部１０に備えられている、又は撮像部１０を移動させることが可能な移動部（例えば、ロボット２０が備えるアームＡ）に撮像部１０が備えられている必要がある。以下では、一例として、撮像部１０の光軸の方向を変化させる機構部が撮像部１０に備えられている場合について説明する。
【０１０５】
例えば、校正ボードＣＢのうちのマーカーＭＫ１〜マーカーＭＫ５の全部を含む範囲が撮像部１０により撮像された撮像画像に含まれておらず、校正ボードＣＢのうちの第１基準部分ＸＰ１１を含む範囲のみが当該撮像画像に含まれていた場合、ロボット制御装置３０は、当該撮像画像から第１基準部分ＸＰ１１を検出する。そして、ロボット制御装置３０は、検出した第１基準部分ＸＰ１１に含まれるマーカーＸＰ１が並べられた方向に沿って撮像部１０の光軸の方向を移動させる。この際、ロボット制御装置３０は、当該光軸の移動量が所定の移動量になる毎に、撮像部１０が撮像可能な範囲を撮像部１０に撮像させる。ロボット制御装置３０は、撮像部１０が撮像した撮像画像に、校正ボードＣＢのうちのマーカーＭＫ１〜マーカーＭＫ５の全部を含む範囲が含まれた状態となるまで、このような当該光軸の移動を繰り返す。これにより、ロボット制御装置３０は、撮像部１０により撮像された撮像画像に校正ボードＣＢの一部のみが含まれていたとしても、当該一部に基づいて、撮像部１０が撮像可能な範囲内に校正ボードＣＢが有するパターンＰＮの全体が含まれるように撮像部１０の光軸の方向を変化させることができる。
【０１０６】
このように校正ボードＣＢが第１基準部分ＸＰ１１、第１基準部分ＸＰ１２、第２基準部分ＹＰ２１、第２基準部分ＹＰ２２のそれぞれを含むことにより、ロボット制御装置３０は、パターンＰＮ上のＸ軸及びＹ軸の誤検出を抑制することができる。また、実施形態の変形例２に係る校正ボードＣＢを用いた場合であっても、ロボット制御装置３０は、実施形態と同様の効果を得ることができる。
【０１０７】
なお、上記において説明した実施形態において、第１マーカーの大きさは、他のマーカーと比べて大きい構成であってもよい。また、第１マーカーの形状は、他のマーカーと異なる形状である構成であってもよい。また、第１マーカーの色は、他のマーカーと異なる色である構成であってもよい。これらにより、ロボット制御装置３０は、第１マーカーを容易に検出することができる。
【０１０８】
以上のように、校正ボードＣＢでは、４個以上のマーカー（この一例において、マーカーＭＫ１〜マーカーＭＫ５）のそれぞれは、回転対称性を有さない凸包（この一例において、凸包ＣＨ１）の頂点に位置する。これにより、校正ボードＣＢは、４個以上のマーカーに応じた位置を精度よく検出させることができる。
【０１０９】
また、校正ボードＣＢでは、４個以上のマーカーのそれぞれは、図心マーカーである。これにより、校正ボードＣＢは、４個以上の図心マーカーに応じた位置を精度よく検出させることができる。
【０１１０】
また、校正ボードＣＢでは、図心マーカーのそれぞれは、図心が３つ以上重なる図形を有する。これにより、校正ボードＣＢは、４個以上のマーカーであって図心が３つ以上重なる図形を有する図心マーカーを画像の中から誤りなく検出させることができる。
【０１１１】
また、校正ボードＣＢでは、凸包における第１マーカー（この一例において、マーカーＭＫ１）を含む辺の長さは、凸包における他の辺の長さよりも長い。これにより、校正ボードＣＢは、４個以上のマーカーに応じた位置を、第１マーカーを基準とすることによって効率よく検出させることができる。
【０１１２】
また、校正ボードＣＢは、凸包の内部に、原点（この一例において、マーカーＯＰ）を備える。これにより、校正ボードＣＢは、４個以上のマーカーに応じた位置を原点によって、より精密に表すことができる。
【０１１３】
また、校正ボードＣＢでは、原点と第１基準部分（この一例において、マーカーＸＰ１、マーカーＸＰ２、第１基準部分ＸＰ１１、第１基準部分ＸＰ１２）とを通る直線と、原点と第２基準部分（この一例において、マーカーＹＰ１、マーカーＹＰ２、第２基準部分ＹＰ２１、第２基準部分ＹＰ２２）とを通る直線とは、直交する。これにより、校正ボードＣＢは、校正ボードの姿勢を第１基準部分と第２基準部分とによって、より精密に表すことができる。
【０１１４】
また、校正ボードＣＢでは、マーカーの数は５個である。これにより、校正ボードＣＢは、５個のマーカーに応じた位置を精度よく検出させることができる。
【０１１５】
また、ロボット２０は、それぞれが凸包の頂点に位置する４個以上のマーカーからなるパターン（この一例において、パターンＰＮ）が撮像部（この一例において、撮像部１０）により撮像された画像（この一例において、撮像画像）に基づいて動作する。これにより、ロボット２０は、４個以上のマーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【０１１６】
また、ロボット２０は、それぞれが凸包の頂点に位置する４個以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて、ロボットの座標系（この一例において、ロボット座標系ＲＣ）と撮像部の座標系（この一例において、撮像部座標系ＣＣ）との校正が行われる。これにより、ロボット２０は、撮像部の座標系における位置に応じた位置であってロボットの座標系における位置を精度よく算出することができる。
【０１１７】
また、ロボット２０は、それぞれが凸包の頂点に位置する４個以上の図心マーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボット２０は、４個以上の図心マーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【０１１８】
また、ロボット２０は、図心が３つ以上重なる図形を有する図心マーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボット２０は、４個以上のマーカーであって図心が３つ以上重なる図形を有する図心マーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【０１１９】
また、ロボット２０は、凸包における第１マーカーを含む辺の長さが凸包における他の辺の長さよりも長い４つ以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボット２０は、４個以上のマーカーに応じた位置を、撮像部により撮像された画像から第１マーカーを基準とすることによって効率よく検出し、検出した当該位置に基づいて所定の作業を精度よく行うことができる。
【０１２０】
また、ロボット２０は、それぞれが凸包の頂点に位置する４個以上のマーカーからなるパターンであって凸包の内部に原点を備えるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボット２０は、凸包の内部に備えられた原点によって表された位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【０１２１】
また、ロボット２０は、外部に第１基準部分及び第２基準部分を備えた凸包の頂点にそれぞれが位置する４個以上のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボットは、校正ボードの姿勢を精度よく検出し、検出した当該姿勢に基づいて所定の作業を行うことができる。
【０１２２】
また、ロボット２０は、それぞれが凸包の頂点に位置する５個のマーカーからなるパターンが撮像部により撮像された画像に基づいて動作する。これにより、ロボット２０は、５個のマーカーに応じた位置であって撮像部により撮像された画像から検出された位置に基づいて所定の作業を精度よく行うことができる。
【０１２３】
また、検出方法は、撮像部により撮像された画像に含まれるマーカーの候補から、それぞれが回転対称性を有さない凸包の頂点に位置する４個以上である所定数のマーカーからなる基準パターンに整合する所定数の当該候補を検出する。これにより、検出方法は、４個以上のマーカーに応じた位置を精度よく検出することができる。
【０１２４】
また、検出方法は、撮像部により撮像された画像に含まれるマーカーの候補から選択された所定数の当該候補からなる第１パターンをホモグラフィー変換した結果と基準パターンとの整合性に基づいて、所定数の当該候補を検出する。これにより、検出方法は、画像に含まれるマーカーの候補に間違ったマーカーが含まれる場合でも、４個以上のマーカーから構成されるパターンを正しく検出することができる。
【０１２５】
また、検出方法は、基準パターンとの整合性が、第１パターンをホモグラフィー変換した結果と基準パターンとの差によって表される。これにより、検出方法は、画像に含まれるマーカーの候補に間違ったマーカーが含まれる場合でも、第１パターンをホモグラフィー変換した結果と基準パターンとの差によって表される整合性に基づいて、４個以上のマーカーから構成されるパターンを正しく検出することができる。
【０１２６】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１２７】
また、以上に説明した装置（例えば、ロボット制御装置３０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１２８】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２９】
１…ロボットシステム、１０…撮像部、２０…ロボット、３０…ロボット制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、３６…制御部、４１…撮像制御部、４３…画像取得部、４５…検出部、４７…校正部、４９…位置姿勢算出部、５１…ロボット制御部
【図１】
2018001333.tif 000004
【図２】
2018001333.tif 000005
【図３】
2018001333.tif 000006
【図４】
2018001333.tif 000007
【図５】
2018001333.tif 000008
【図６】
2018001333.tif 000009
【図７】
2018001333.tif 000010
【図８】
2018001333.tif 000011
【図９】
2018001333.tif 000012
【図１０】
2018001333.tif 000013
【図１１】
2018001333.tif 000014
【図１２】
2018001333.tif 000015
【図１３】
2018001333.tif 000016
【図１４】
2018001333.tif 000017
【図１５】
2018001333.tif 000018
【図１６】
2018001333.tif 000019
【図１７】
2018001333.tif 000020
【図１８】
2018001333.tif 000021
【図１９】
2018001333.tif 000022
【図２０】
2018001333.tif 000023
【図２１】
2018001333.tif 000024