マーカ
【課題】本発明の課題は、マーカとマーカの観測物が正対する付近でも、マーカを観測物により正確に計測することができるマーカを提供することである。
【解決手段】上記の課題を解決するために、本発明に係るマーカは、模様と、模様の上に付けられたレンズであって、レンズを観測する方向に応じてレンズ上に観測される濃淡パターンが変化するレンズとを含むマーカユニットを備えることを特徴とする。
【解決手段】上記の課題を解決するために、本発明に係るマーカは、模様と、模様の上に付けられたレンズであって、レンズを観測する方向に応じてレンズ上に観測される濃淡パターンが変化するレンズとを含むマーカユニットを備えることを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、物体に付けることのできるマーカに関する。
【背景技術】
【0002】
AR(Augmented Reality:拡張現実感)やロボティクスの分野において、ロボットなどが、物体の位置や姿勢を認識するために、マーカが用いられている。マーカとは、物体に付けることのできる平面パターンである。
【0003】
マーカは、特に、今後のサービスロボットの実用化に際して、サービスロボットによる確実な自律作業を支援するシステムの構築に不可欠な要素である(非特許文献1、2、3)。
【0004】
マーカのうち代表的なものは、正方形の黒い枠とその内部に印刷された2次元パターンコードを含む。そして、マーカをカメラで認識することにより、マーカとカメラの相対的な位置と姿勢を認識し、マーカの付けられた物体の位置や姿勢を認識することができる。また、カメラにより、マーカに記録された情報を読み取ることもできる。
【0005】
図1は、一般的なARマーカの例(非特許文献7)を示す図である。図1には、ARToolKitマーカ、ARTagマーカ、CyberCodeマーカ、およびARToolKitPlusマーカが示されている。また、QRCode(非特許文献8)のようにより多くの情報を記録可能なマーカを、ARマーカとして用いることもできる(非特許文献1、2)
【0006】
AR分野では、例えば、実世界の画像に対してCG(Computer Graphics:コンピュータグラフィクス)のモデルを、実世界の画像中の物体に付けられたARマーカの位置に合わせて重ねて表示することが行われている。
【0007】
ロボティクス分野では、例えば、物体に付けられたARマーカをロボットに計測させることにより、ロボットにARマーカが付けられた物体の位置や姿勢を認識させて、物体を操作させることが行われている。
【0008】
図2は、ロボティクス分野における、マーカを用いたロボットタスクの例を示す図である。図2の例では、車椅子に装着された、車椅子に乗る人の生活支援のためのロボットアームの先のロボットハンドにつけられたカメラにマーカが付けられた冷蔵庫の取っ手を認識させて、ロボットハンドに、冷蔵庫の扉の開閉を自動的に行わせている。図2に示されているタスクでは、カメラがマーカを認識した後、ロボットは自律的にマーカの位置および姿勢を基準として所定のロボットアームの軌道を生成することにより、冷蔵庫の扉を開けることができる。
【0009】
カメラによるマーカの計測は、以下で説明するように従来行われている。まず、カメラが、マーカの画像を読み取る。次に、マーカの画像が、画像処理されて、マーカの4つのコーナー(4角)が検出される。そして、カメラに読み取られた画像内でのマーカの4つのコーナーの位置関係を用いた幾何学的計算により、マーカの計測が行われ、マーカが付けられた物体の位置や姿勢を、カメラが認識することができる。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】J.Ota, et al., “Environmnetal support method for mobile robots using visual marks with memory storage”, in Proc. 1999 IEEE Intl. Conf. on Robotics and Automation (ICRA), vol.4, pp.2976-2981, 1999.
【非特許文献2】K.Ohara, et al., “Visual Mark for Robot Manipulation and Its RT-Middleware Component”, Advanced Robotics, Vol. 22, No. 6, pp.633-655, 2008.
【非特許文献3】H.Tanaka et al., “Visual Marker System for Control of Flexible Manipulator Supporting Daily Living”, in Proc. ICROSSICE Intl. Joint Conf. 2009, pp.1666-1670, 2009.
【非特許文献4】Y.Uematsu and H.Saito, “Improvement of Accuracy for 2D Marker-Based Tracking Using Particle Filter”, in Proc. 17th Intl. Conf. Artificial Reality and Telexistence 2007, pp.183-189, 2007.
【非特許文献5】D.Abawi, J.Bienwald and R.Dorner, “Accuracy in Optical Tracking with Fiducial Markers:An Accuracy Function for ARToolKit”,in Proc. The Third IEEE and ACM Intl. Symp. On Mixed and Augmented Reality (ISMAR 2004), pp.260-261, 2004.
【非特許文献6】K.Pentenrieder, et al., “Analysis of tracking accuracy for single-camera square-marker-based tracking”, in Proc. Dritter Workshop Virtuelle und Erweiterte Realitt der GIFachgrupper VR/AR, Koblenz, Germny, 2006.
【非特許文献7】M.Fiala, “ARTag Fiducial Marker System Applied to Vision Based Spacecraft Docking”, in Proc. Intl. Conf. on Intelligent Robots and Systems (IROS) 2005 Workshop on Robot Vision for Space Applications, pp.35-40, 2005.
【非特許文献8】QRcode Web Site, “http://www.denso-wave.com/qrcode/index-e.html”
【非特許文献9】H.Kato, “Inside ARToolKit”, http://www.hitl.washington.edu/artoolkit/Papers/ART02-Tutorial.pdf
【非特許文献10】M.Rubio, et al., “Jittering Reduction in Marker-Based Augmented Reality Systems”, in Proc. ICCSA(1), 2006, pp.510-517, 2006.
【非特許文献11】D.Wagner and D.Schmalstieg, “ARToolKitPlus for Pose Tracking on Mobile Devices”, Proc. 12th Computer Vision Winter Workshop (CVWW’07), 2007.
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、上記のような従来技術によると、マーカのサイズが小さいときに、マーカとカメラが正対する付近で、マーカの計測誤差が大きくなってしまう(非特許文献4、5、6)。また、たとえカメラでフィルタ(平均フィルタ、カルマンフィルタ、パーティクルフィルタ等)や計測履歴を用いることにより、マーカの計測値の分散を小さくすることができても(非特許文献4、9、10)、マーカの計測値が真値となっている保証はなかった。
【0012】
図24は、上記のような従来のマーカのもつ課題を定性的に説明するための図である。従来のマーカを用いるシステムでは、射影変換の原理を用いた幾何的計算により、マーカの位置と回転角(姿勢)が計測される。このような従来のシステムでは、まず、図24に示されているように、例えば、マーカの4つのコーナー2401、2402、2403、2404の位置が、カメラにより観測される。そして、コーナーの位置からマーカを観測するカメラとマーカとの相対的な位置と姿勢が一意に決定される。このため、図24の(B)に示されているように、マーカを観測するカメラとマーカとが正対しない場合には、マーカのコーナーの位置の計測誤差が小さいと、マーカの回転角には小さな計測誤差しか生じない。一方、図24の(A)に示されているように、マーカを観測するカメラとマーカとが正対する付近にある場合には、たとえマーカのコーナーの位置の計測誤差が小さくても、マーカの回転角には大きな計測誤差が生じてしまう。
【課題を解決するための手段】
【0013】
上記の課題を解決するために、本発明に係るマーカは、模様と、模様の上に付けられたレンズであって、レンズを観測する方向に応じてレンズ上に観測される濃淡パターンが変化するレンズとを含むマーカユニットを備えることを特徴とする。
【発明の効果】
【0014】
本発明によれば、マーカとマーカの観測物が正対する付近でも、マーカを観測物により正確に計測することができる。
【図面の簡単な説明】
【0015】
【図1】一般的なARマーカの例を示す図である。
【図2】マーカを用いたロボットタスクの例を示す図である。
【図3】本発明に係るRASマーカの濃淡パターンの変化の例を示す図である。
【図4】本発明に係るRASマーカの基本構造の例を示す図である。
【図5】本発明に係るRASマーカを観測する角度によって観測される色が変化する原理を示す図である。
【図6】本発明に係るRASマーカにおいて白黒縞模様の黒色のラインの間隔とレンチキュラレンズの間隔が等しい場合に観測される濃淡パターンの変化を示す図である。
【図7】本発明に係るRASマーカにおいて白黒縞模様の黒色のラインの間隔がレンチキュラレンズの間隔より少し広い場合に観測される濃淡パターンの変化を示す図である。
【図8】本発明に係るRASマーカにおける、黒ピークの周期とレンチキュラレンズのレンズの数および白黒縞模様の黒色のラインの数の関係を示す図である。
【図9】本発明に係るRASマーカにおける、視線角度と黒ピーク位置の関係を示す図である。
【図10】本発明に係るRASマーカユニットのデザインの例を示す図である。
【図11】本発明に係るRASマーカのデザインの例を示す図である。
【図12】本発明に係るRASマーカの黒ピーク位置の計測のための画像処理アルゴリズムの例を説明するための図である。
【図13】本発明に係るRASマーカの性能を検証するための装置の例を示す図である。
【図14】本発明に係るRASマーカの性能の検証結果を表示するためのGUIの例を示す図である。
【図15】本発明に係るRASマーカの性能と従来のARToolKitPlusマーカの性能を比較した図である。
【図16】本発明に係るRASマーカの性能と従来のARToolKitPlusマーカの性能を比較した図である。
【図17】本発明に係る2つのRASマーカユニットを用いた距離計測の方法を示す図である。
【図18】本発明に係るRASマーカをロボットハンドの制御に利用している様子を示す図である。
【図19】本発明に係るRASマーカの例を示す図である。
【図20】本発明に係るRASマーカの例を示す図である。
【図21】本発明に係る画像処理アルゴリズムの例のフローチャートである。
【図22】2つの直交するRASマーカユニットを用いた場合に定まる視点の位置を示す図である。
【図23】三角形状に配置した3つのRASマーカユニットを用いた場合に定まる視点の位置を示す図である。
【図24】従来のマーカのもつ課題を定性的に説明するための図である。
【図25】本発明に係るRASマーカに含まれる白黒縞模様の黒い線の太さに応じて、RASマーカ上で計測される濃淡パターンがどのように変化するかを示す図である。
【図26】本発明に係るRASマーカユニットのコーナーと計測基準点の画像を2種類の閾値によって二値化したものを示す図である。
【図27】本発明に係るRASマーカユニットにおける、視線角度と黒ピーク位置の関係を示す図である。
【図28】本発明に係る光学モデルを説明するための図である。
【図29】本発明に係るRASマーカを実測することにより得られた値の組合せを示す図である。
【図30】視線角度の計測値と、様々なxa、xb、da、dbの値を用いて、本発明に係る光学モデルにより計算された視線角度θpとを比較した図である。
【図31】本発明に係るRASマーカの観測点のRASマーカからの距離を変化させたときに、RASマーカによる計測の安定性がどのように変化するかを示す図である。
【図32】本発明に係るRASマーカへの照度を変化させたときに、本発明に係るRASマーカによる計測の安定性がどのように変化するかを示す図である。
【図33】本発明に係るRASマーカ上で計測される濃淡パターンが、強い光が照射される
【図34】本発明に係るRASマーカをマーカとして用いないときの図2に示されているロボットタスクにおける車椅子の作業可能範囲について示す図である。
【図35】本発明に係るRASマーカを用いたときの図2に示されているロボットタスクを実現するシステムにおける、ロボットハンドの位置決めのための制御アルゴリズムを説明するための図である。
【図36】本発明に係るRASマーカを用いる前の車椅子の作業可能範囲と、本発明に係るRASマーカを用いた際の車椅子の作業可能範囲を比較した図である。
【図37】本発明に係る2次元化されたRASマーカを示す図である。
【図38】本発明に係る2次元化されたRASマーカ3800におけるレンズとドットパターンに含まれるドットの位置との位置関係を示す図である。
【図39】本発明に係る2次元化されたRASマーカを観測する角度によって観測される濃淡パターンがどのように変化するかを示す図である。
【図40】本発明に係る2次元化されたRASマーカユニットの例を示す図である。
【図41】本発明に係る2次元化されたRASマーカを観測する角度によって観測される濃淡パターンがどのように変化するかを示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、詳細に説明する。
(本発明の概要)
まず、本発明の概要について説明する。本発明では、マーカを観測する方向に応じて、観測されるマーカの濃淡パターンが変化する。そして、マーカの濃淡パターンから、マーカとマーカを観測する観測物との相対的な関係(位置や角度等)が計測されることができる。
【0017】
(RASマーカ)
具体的には、本発明において、上記の処理を可能にするために、レンチキュラレンズと白黒縞模様とを組み合わせたRAS(Rotation Angle Scale(回転角度物差し))マーカを用いる。なお、以下では、白黒縞模様を一例として用いて説明するが、レンチキュラレンズに組み合わせられる図柄は、白黒縞模様でない任意の色の任意の模様であってもよい。RASマーカをカメラが観測する際に、RASマーカに対するカメラの視線角度に応じて、カメラが観測することができるRASマーカの濃淡パターンが変化する。
【0018】
RASマーカに対するカメラの視線角度の真値と、カメラが観測するRASマーカの濃淡パターンの変化は、一対一に対応して不変である。したがって、RASマーカに対するカメラの視線角度と、カメラが観測するRASマーカの濃淡パターンとの対応関係を用いて、例えば、カメラが観測するRASマーカの濃淡パターンから、RASマーカに対するカメラの視線角度を正確に求めることができる。
【0019】
図3は、本発明に係るRASマーカの濃淡パターンの変化の例を示している。図3は、軸301の周りにRASマーカ302を回転させたときに、視点が固定されたカメラが観測するRASマーカ302の濃淡パターンが、矢印303の方向に変化していくことを示している。具体的には、図3に示されているように、軸301の周りにRASマーカ302を回転させると、カメラに観測される濃淡パターンのうちの濃い部分と薄い部分のRASマーカ上での位置が変化する。すなわち、図3では、軸301の周りにRASマーカ302が回転されると、濃淡パターンのうち色の濃い部分が移動しているようにカメラに観測される。
【0020】
図4は、本発明に係るRASマーカの基本構造の例を示す図である。図4に示されているように、RASマーカは、レンチキュラレンズを、矢印401の方向に、白黒縞模様に貼り付けることにより作成される。ここでは、一例としてRASマーカでレンチキュラレンズが用いられているが、図3に示されているような濃淡パターンのふるまいが得られるならば、RASマーカにおいて、レンチキュラレンズ以外のレンズが用いられてもよい。
【0021】
以下で、図5を用いて、本発明に係るRASマーカを観測する角度によって観測される色が変化する原理を説明する。RASマーカが含むレンチキュラレンズは、シリンダー状の小さなレンズを等間隔に並べたレンズである。図5に示されているように、レンチキュラレンズを観測する視線の角度に応じて、レンチキュラレンズの下の白黒縞模様の黒色の部分の異なる部分が拡大して観測される。このようにして、図5に示されているように、RASマーカに対する観測視線の方向に応じて、レンチキュラレンズの下の白黒縞模様上の焦点が変わり、観測される色が白から黒の間で変化する。
【0022】
以下で、図6を用いて、本発明に係るRASマーカにおいて白黒縞模様の黒色のラインの間隔とレンチキュラレンズの間隔が等しい場合に、観測される濃淡パターンがどのように変化するかを説明する。図6に示されているように、RASマーカにおいて白黒縞模様の黒色のラインの間隔とレンチキュラレンズの間隔が等しい場合には、カメラの視線角度の変化に応じて、濃淡パターンが全体的に変化してカメラに観測される。
【0023】
また、以下で、図7を用いて、本発明に係るRASマーカにおいて白黒縞模様の黒色のラインの間隔がレンチキュラレンズの間隔より少し広い場合に、観測される濃淡パターンがどのように変化するかを説明する。図7に示されているように、RASマーカにおいて白黒縞模様の黒色のラインの間隔がレンチキュラレンズの間隔より少し広い場合には、カメラの視線角度の変化に応じて、色の濃い部分が移動しているように観測される。これが、図3において、軸301の周りにRASマーカ302が回転され、カメラのRASマーカ302に対する視線角度が変化すると、濃淡パターンのうち色の濃い部分が移動しているようにカメラに観測される原理である。以下で説明する本発明の実施形態では、一例として、白黒縞模様の黒色のラインの間隔がレンチキュラレンズの間隔より少し広いRASマーカを用いる。
【0024】
カメラにより、RASマーカを観測したときに、最も黒く観測される部分を、以下の説明では、黒ピークと呼ぶ。上述したように、カメラでRASマーカを観測すると、黒ピークが周期的に現れる。図8は、本発明に係るRASマーカにおける、黒ピークの周期とレンチキュラレンズのレンズの数および白黒縞模様の黒色のラインの数の関係を示している。図8に示されているように、黒ピークは、レンチキュラレンズのレンズの数と白黒縞模様の黒色のラインの数との差が1になる位置ごとに現れる。
【0025】
図9は、本発明に係るRASマーカにおける、視線角度と黒ピーク位置の関係を示す図である。図9において、xが黒ピーク位置、θが視線角度を表す。視点平面Sv上の点からカメラがRASマーカを観測した場合、黒ピークはいつでも同じ位置xに観測される。このとき、RASマーカ平面Smに垂直な面とSvの成す角が視線角度θに相当する。レンズ断面形状が円筒形(の一部)であるレンチキュラレンズの場合、視線角度θと黒ピーク位置xの関係は、θ=tan-1(a(x−b)+c)のようになる。θ=tan-1(a(x−b)+c)において、a、b、cはレンチキュラレンズおよび白黒縞模様の各種パラメータ(レンズの厚み,間隔,縞模様の間隔等)に応じて決まる定数である。
【0026】
後述するRASマーカユニットにおいても、同様に、図27に示されているように視点pと黒ピーク位置xを含む視点平面と、RASマーカユニットを含む平面Smに垂直な面との角度を視線角度θと定義することができる。ここで、θは、後述するRASマーカユニットの回転軸周り(図27では、例えばy軸周り)の角度となる。
【0027】
(RASマーカのデザイン)
以下では、本発明に係るRASマーカから観測される画像を処理して解析するために適したRASマーカのデザインについて説明する。
【0028】
図10は、本発明に係るRASマーカの基本単位であるRASマーカユニットのデザインの例を示す図である。図10に示されているRASマーカユニットの部分の長さを表す数値は無単位であり、比率が一定であれば、RASマーカユニットの大きさはどのようなものでもよい。図10に示されているRASマーカユニットは、図4に示されているものと同様の構造を有し、軸1001の周りの角度をカメラにより検知するために用いられる。一つのRASマーカユニットは、4つの計測基準点1010〜1013と濃淡パターン表示部1014を含む。計測基準点1010〜1013は、以下で説明する画像処理を確実に行うためのものである。
【0029】
図25は、RASマーカに含まれる白黒縞模様の黒い線の太さに応じて、RASマーカ上で計測される濃淡パターンがどのように変化するかを示す図である。例えば、図25のn=2の濃淡パターンは、最も明瞭に黒ピークの位置の検出が可能であるので、本実施形態では、n=2の濃淡パターンをRASマーカ上で計測可能なRASマーカを、一例として用いている。
【0030】
図11は、本発明に係るRASマーカのデザインの例を示す図である。図11に示されているRASマーカは、一例として、RASマーカユニット(x軸用)とRASマーカユニット(y軸用)の2つのRASマーカユニットを含んでいる。RASマーカは、2つ以上のRASマーカユニットを含んでいてもよいし、1つだけのRASマーカユニットを含んでもよい。
【0031】
RASマーカユニット(x軸用)は、RASマーカが付けられた物体のx軸周りの回転をカメラにより検知するために用いられる。また、RASマーカユニット(y軸用)は、RASマーカが付けられた物体のy軸周りの回転をカメラにより検知するために用いられる。
【0032】
また、図11のRASマーカは、一例として、ARToolKitPlusマーカ(非特許文献11)を含んでいる。ARToolKitPlusマーカは、図1に示されている2次元パターンコードを含む既存のARマーカの一つである。RASマーカは、ARToolKitPlusマーカ以外のARマーカを含んでもよいし、ARマーカを含まなくてもよい。ARToolKitPlusマーカは、画像処理の際、主にRASマーカユニットのおよその位置と向きをカメラにより観測するために用いられる。
【0033】
図26は、RASマーカユニットのコーナーと計測基準点の画像を2種類の閾値によって二値化したものを示す図である。図26に示されている画像において、二値化は、灰色と黒色によって行われている。図26の画像2601は、RASマーカユニットの検出の際に、照明変動があった場合の画像である。また、図26の画像2602は、RASマーカユニットの検出の際に、カメラの焦点のブレがあった場合の画像である。図26に示されているように、RASマーカユニットの検出の際に、照明変動やカメラの焦点のブレがあった場合でも、計測基準点2603、2604の形状を円形とすることにより、RASマーカユニットのコーナー2605と比較して、RASマーカユニットの計測基準点の中心(重心)の位置2606を精度良く検出することができる。そのため、本実施形態では、一例として、図21のステップS1207において、環境条件に対して変動の少ない画像変換が可能となるように、円形の計測基準点を、RASマーカユニットにおいて用いた。
【0034】
(画像処理アルゴリズム)
以下で、RASマーカをカメラで観測し、カメラに読み込まれた画像を処理してRASマーカの黒ピークの位置を計測するための画像処理アルゴリズムの例について図12と図21を用いて、説明する。なお、以下の画像処理アルゴリズムは、例えば、RASマーカを観測するカメラによって実行されてもよいし、カメラとは別体のコンピュータにより実行されてもよい。また、以下の画像処理アルゴリズムは、コンピュータプログラムの形式で、メモリに格納されてもよい。また、メモリからコンピュータプログラムを読み出して、CPUがコンピュータプログラムを実行することにより、以下の画像処理アルゴリズムが実現されてもよい。また、RASマーカを観測するカメラは、例えば、ロボットやロボットハンドに搭載されていてもよい。また、以下の画像処理アルゴリズムを実行するコンピュータは、上記カメラを搭載したロボットに組み込まれていてもよい。
【0035】
画像処理アルゴリズムでは、まず、ステップS1201で、カメラが、RASマーカを観測して、RASマーカに含まれるARToolKitPlusマーカ(図12の(1))を検出し、ARToolKitPlusマーカの画像を読み込む。そして、カメラに読み込まれた画像の中のARToolKitPlusマーカの2次元パターンコードを用いて、ARToolKitPlusマーカの位置と姿勢が算出される。一例として、ステップS1201で、ARToolKitPlusマーカの検出とARToolKitPlusマーカの画像の読み込みが行われるが、ARToolKitPlusマーカ以外のマーカがRASマーカに含まれていて、ARToolKitPlusマーカ以外のマーカの検出と、ARToolKitPlusマーカ以外のマーカの画像の読み込みがステップS1201で行われてもよい。
【0036】
次に、ステップS1202で、ステップS1201で算出されたARToolKitPlusマーカの位置を基準として、カメラが観測したRASマーカに含まれるRASマーカユニットの存在する領域の画像(図12の(2))が、カメラに読み込まれた画像から抽出される。
【0037】
次に、ステップS1203で、ステップS1202で抽出されたRASマーカユニットの存在する領域の画像が一定の大きさにリサイズされた画像(図12の(3))が生成される。
【0038】
次に、ステップS1204で、ステップS1203で生成された画像(図12の(3))の二値化と領域分割が行われる。
【0039】
次に、ステップS1205で、ステップS1204で行われた二値化と領域分割の結果から、ステップS1203で生成された画像に含まれる、カメラが観測したRASマーカ中のRASマーカユニットの4つの計測基準点(図12の(5)の符号1205−1〜1205−4)が抽出される。この際に、予め定められたRASマーカユニットの計測基準点の面積、寸法、縦横比等の基準を用いたフィルタリングが活用されてもよい。
【0040】
次に、ステップS1206で、4つの計測基準点(図12の(5)の符号1205−1〜1205−4)から射影変換行列が算出される。
【0041】
次に、ステップS1207で、ステップS1206で算出された射影変換行列を用いて、ステップS1203で生成された画像に含まれる、カメラが観測したRASマーカ中のRASマーカユニットを正面から観測した画像(図12の(7)、正面画像)が生成される。
【0042】
次に、ステップS1208で、RASマーカユニットの濃淡パターン表示部の濃淡パターンの中心軸1208−1上の32点の輝度が取得される。
【0043】
次に、ステップS1209で、S1208で取得された輝度の極値が図12の(9)に示されているようなパラボラ近似により算出される。通常、黒い部分は輝度が小さいが、ここでは輝度の大小関係を逆にして表示している。
【0044】
ステップS1209では、S1208で取得された輝度の値にばらつきがあったり、ステップS1201で、カメラが、RASマーカを観測する際に、焦点のブレがある場合でも、輝度の極値をロバストに算出するために、一例として、パラボラ近似が用いられている。
【0045】
パラボラ近似は、一例であり、ステップS1209では、極値を求めるためにパラボラ近似以外の近似が用いられてもよい。また、S1208で取得される輝度の点数は、32点でなくてもよく、ステップS1209において、精度良く極値が求められるならば、S1208で取得される輝度の点数は何点でもよい。ステップS1209において、求められた極値が、RASマーカに含まれるRASマーカユニットの濃淡パターンの黒ピークの位置として計測される。
【0046】
(黒ピークの位置から視線角度への変換)
以下で、図28を用いて、RASマーカ上で観測される黒ピークの位置から視線角度を求めるために用いることができる光学モデルについて説明する。
【0047】
光学モデルでは、一例として以下のような(1)〜(4)のような仮定をおくことができる。
【0048】
(1)RASマーカに含まれるレンズの表面は、半径rの円筒表面の一部である。
【0049】
(2)RASマーカ上の黒ピークが観測される位置では、視線と黒ピークを形成している黒い線の中心が交わっている。
【0050】
(3)RASマーカに含まれるレンズの形状および白黒縞模様の形状に関する様々なパラメータの正確な値は未知である。
【0051】
(4)RASマーカに含まれるレンズの軸と白黒縞模様の黒色のラインは平行である。(RASマーカに含まれるレンズの軸と白黒縞模様の黒色のラインが平行でない場合には、RASマーカ上で観測される濃淡パターンに明確な変化が現れるため、仮定(4)を満たさないRASマーカを排除することは容易である。)
【0052】
図28は、上記の仮定に基づいた光学モデルを示している。図28において、pLは、RASマーカに含まれるレンズの間隔を示しており、pSは、RASマーカに含まれる白黒縞模様の間隔を示している。また、図28において、xは、RASマーカの原点とRASマーカ上で観測される黒ピークとの距離を示している。また、図28において、θa、θbは、視線角度を示している。また、図28において、hは、RASマーカに含まれるレンズの円筒中心と、RASマーカに含まれる白黒縞模様との距離を示している。また、図28において、dは、RASマーカの観測視点とRASマーカが含まれる平面との距離を示している。また、図28において、eは、RASマーカに含まれるレンズの中心線と、RASマーカに含まれる白黒縞模様の黒色のラインの中心との距離を示している。
【0053】
以下では、上記の光学モデルを用いて、RASマーカに含まれる白黒縞模様との距離da、db、およびRASマーカの原点とRASマーカ上で観測される黒ピークとの距離xa、xbの観測値が得られているときに、視線角度θpがどのように求まるかを示す。
【0054】
まず、ある自然数nbを用いて、xb=xa+nbpS (式(1))と表せる。
【0055】
式(1)より、δp=pS−pL (式(2))とすると、eb=ea+nbδp (式(3))が成り立つ。
【0056】
式(1)よりnb=(xb−xa)/pS (式(4))である。
【0057】
また、xa/da=ea/h (式(5))、xb/db=eb/h (式(6))が、幾何的相似により成り立つ。
【0058】
ここで、観測された黒ピークの位置xpから視線角度θpが求まるとする。
【0059】
そうすると、xp=xa+nbpS (式(7))、ep=ea+npδp (式(8))、θp=tan-1(ep/h) (式(9))が成り立つ。
【0060】
また、式(7)よりnp=(xp−xa)/pS (式(10))となる。
【0061】
また、式(8)、(10)よりep=ea+δp(xp−xa)/pS (式(11))となる。
【0062】
また、式(3)、(4)、(6)より、以下の式(12)が求まる。
eb=ea+δp(xb−xa)/pS=hxb/db (式(12))
【0063】
また、式(5)、(12)より、以下の式(13)が求まる。
hxa/da+δp(xb−xa)/pS=hxb/db (式(13))
【0064】
ここで、xb/db−xa/da=A (式(14))、xb−xa=B (式(15))とすると、式(13)より、h=Bδp/(ApS) (式(16))が求まる。
【0065】
また、式(5)、(16)より、ea=xaBδp/(daApS) (式(17))が求まる。
【0066】
また、式(11)、(17)より、以下の式(18)が求まる。
ep=xaBδp/(daApS)+δp(xp−xa)/pS (式(18))
【0067】
また、式(16)、(18)より、以下の式(19)が求まる。
ep/h=xa/da+(xp−xa)A/B (式(19))
【0068】
また、式(14)、(15)、(19)より、以下の式(20)が求まる。
ep/h=xa/da+(xb/db−xa/da)(xp−xa)/(xb−xa) (式(20))
【0069】
そして、式(9)、(20)より、以下の式(21)が求まる。
θp=tan-1(xa/da+(xb/db−xa/da)(xp−xa)/(xb−xa)) (式(21))
【0070】
ここで、RASマーカの濃淡パターン表示部の長さをwとし、図21のステップS1209により計測された黒ピークの位置をp[pixel]とすると、xp/w=p/480 (式(22))が成立する。
【0071】
ここで、式(21)、(22)から、黒ピークの位置pと、視線角度θpの関係が以下の式(23)のように求まる。
θp=tan-1(xa/da+(xb/db−xa/da)(wp/480−xa)/(xb−xa)) (式(23))
【0072】
(RASマーカの性能)
以下で、本発明に係るRASマーカの性能について説明する。
【0073】
RASマーカの性能の検証のために、一例として、図13に示されているような装置を用いる。図13の装置により、回転台でRASマーカを回転させて、回転したRASマーカをカメラで観測することができる。
【0074】
RASマーカの性能の検証結果は、例えば、図14に示されているようなGUI(グラフィカルユーザインタフェース)に、以下のように表示されることができる。カメラに読み込まれたRASマーカを含む画像は、GUI1401に表示される。ステップS1207で生成される画像は、GUI1402に表示される。ステップS1208の中心軸1208−1を含む画像は、GUI1403に表示される。ステップS1209のパラボラ近似と、ステップS1209で求められた極値は、GUI1404に表示される。
【0075】
図13の装置を、RASマーカの性能の検証のために、一例として、以下の条件で用いる。図13の装置は、通常の白色蛍光灯による照明がされたオフィス環境で用いられる。また、図13の装置に含まれるカメラは、USB CMOSカメラ(対角画角56.3°、VGA)であり、回転台との中心軸とカメラとの距離は、133mmとされている。また、図13の装置のRASマーカに含まれるARToolKitPlusマーカの部分は、一辺が10mmの正方形である。また、RASマーカで用いられるレンチキュラレンズは、75LPI(1インチあたりのレンズ列数が75)のものであり、計測可能な視線角度範囲はおよそ±30°である(計測可能な視線角度範囲は、RASマーカで用いられるレンチキュラレンズの仕様によって決まる。)。
【0076】
また、図13の装置を用いて、RASマーカの性能を検証する際には、カメラとRASマーカが正対した状態を回転台の回転の角度(回転角)が0°の状態であるとし、回転台は、y軸のまわりに回転する。
【0077】
上記の場合に、RASマーカのy軸のまわりの回転角とRASマーカの黒ピークの位置xを、図13の装置を用いて、どの程度正確に計測できるかを、以下で検証する。
【0078】
図15の(1)は、図13の装置を用いて得られた、本発明に係るRASマーカの性能を示す図である。図15の(1)の横軸は、図13の回転台の回転角であり、縦軸は、計測されたRASマーカの黒ピークの位置xである。黒ピークの位置は、RASマーカのRASマーカユニットから計測される濃淡パターンの左端から右端の一次元の座標を表す0〜480の値をとる。図15の(1)の図に示されているように、回転角が大きくなると、RASマーカの黒ピークの位置が連続的に増加しており、RASマーカの黒ピークの位置から回転角を求めることが可能であることがわかる。また、図15の(1)の図より、RASマーカの黒ピークの位置に基づいて、1°未満の精度で、回転角を求めることが可能であり、RASマーカとカメラが正対している状態(回転角が0°の場合)でも、精密かつ安定して、RASマーカの黒ピークの位置から、回転角を計測できることがわかる。図15の(1)では、各回転角で20回の計測の平均がプロットされており、データのばらつきを示す標準偏差がエラーバーで示されているが、エラーバーの幅は非常に小さくて目立たない。図15の(1)のデータの標準偏差は、角度に変換すると約0.2°〜0.4°であり、幅広い回転角にわたって、非常に精密かつ安定して、RASマーカの黒ピークの位置から、回転角を計測できることがわかる。
【0079】
図15の(2)は、図13の装置を用いて得られた、ARToolKitPlusマーカの性能を示す図である。図15の(2)では、各回転角で20回の計測の平均がプロットされており、データのばらつきを示す標準偏差がエラーバーで示されている。図15の(2)の横軸は、図13の回転台の回転角であり、縦軸は、計測されたARToolKitPlusマーカの回転角(計測角Θ)である。図15の(2)に示されているように、従来のARToolKitPlusマーカを用いた場合、回転角と計測角Θは連続的に一致することはなく、計測角Θのふるまいは、非常に不安定である。すなわち、図15の(2)では、計測角Θの精度が良ければ、図15の(2)のデータは、右肩上がりの直線上にのるはずであるが、図15の(2)に示されているように、回転角が0°の付近で非常に精度が悪く、またデータのばらつきも大きく、安定しない。
【0080】
図15の(1)と図15の(2)との比較により、RASマーカを用いることにより、従来のARToolKitPlusマーカよりも、精密かつ安定して、マーカの回転角を計測することができることがわかる。
【0081】
図16は、本発明に係るRASマーカの性能と従来のARToolKitPlusマーカの性能を比較した図である。図16の横軸は、図13の回転台の回転角であり、縦軸は、計測角の標準偏差である。図16のRASマーカの数値は、図15の(1)の結果から求められたRASマーカが1°回転すると黒ピークの位置が3.4移動するという関係を用いて、RASマーカの黒ピークの位置xを計測角(deg)に変換することにより算出されている。図16のARToolKitPlusマーカの数値は、計測角Θの値の標準偏差である。図16に示されているように、マーカとカメラが正対している状態(回転角が0°の場合)において、従来のARToolKitPlusマーカの計測角の標準偏差は不安定であるが、本発明に係るRASマーカの計測角の標準偏差は非常に安定していることがわかる。本発明に係るRASマーカの計測角の標準偏差のばらつきは、上述したように約0.2°〜0.4°である。
【0082】
(計測値と光学モデルとの比較)
次に、式(23)で表される光学モデルと計測値とを比較する。
【0083】
ここでは、式(23)の視線角度θpを計算するために必要なxa、xb、da、dbの値として、RASマーカを実測することにより得られた、図29に示されている4つの値の組合せ((i)、(ii)、(iii)、(iv))を用いる。
【0084】
図30は、視線角度の計測値と、様々なxa、xb、da、dbの値を用いて式(23)で表された光学モデルにより計算された視線角度θpとを比較した図である。図30に示されているように、光学モデルにおいて用いるxa、xb、da、dbの値によって、光学モデルにより計算される視線角度θpと視線角度の計測値との一致度は異なる。例えば、図30に示されているように、xa、xb、da、dbの値の組合せとして、図29の(iv)と(i)の値の組合せを用いて光学モデルにより計算された視線角度θpは、視線角度の計測値と良く一致する。一方、図30に示されているように、xa、xb、da、dbの値の組合せとして、図29の(iv)と(i)の値の組合せ以外の組合せを用いて光学モデルにより計算された視線角度θpは、視線角度の計測値との一致度が低くなる。これは、理想的な仮定に基づいて構築された光学モデルでも、光学モデルの導出に用いられている仮定を満たすxa、xb、da、dbの値の組合せを用いて視線角度θpを計算すれば、視線角度の計測値を良く再現することができることを示している。
【0085】
(RASマーカのロバスト性)
図31は、RASマーカの観測点のRASマーカからの距離を変化させたときに、RASマーカによる計測の安定性がどのように変化するかを示す図である。図31の3101において、横軸は、RASマーカの観測点のRASマーカからの距離であり、縦軸は、各距離におけるRASマーカ上の黒ピークの位置の標準偏差を、図30に示されている視線角度と黒ピークの位置との関係から得られる係数(0.168[deg/pixel])によって角度に変換したものである。また、図31の3102は、RASマーカの観測点のRASマーカからの距離が277mmのときに、観測されるRASマーカの画像の一例を示している。また、図31の3103は、RASマーカの観測点のRASマーカからの距離が92mmのときに、観測されるRASマーカの画像の一例を示している。
【0086】
図31の3101に示されているように、従来のARToolKitPlusマーカと比較して、RASマーカの角度は、RASマーカの観測点のRASマーカからの距離を変化させても大きく変化しない。したがって、RASマーカを用いることにより、従来のARToolKitPlusマーカよりロバストな観測が可能である。
【0087】
図32は、RASマーカへの照度を変化させたときに、RASマーカによる計測の安定性がどのように変化するかを示す図である。図32の3201において、横軸は、RASマーカへの照度であり、縦軸は、各照度におけるRASマーカ上の黒ピークの位置の標準偏差を、図30に示されている視線角度と黒ピークの位置との関係から得られる係数(0.168[deg/pixel])によって角度に変換したものである。また、図32の3203は、RASマーカの外観の画像を示している。また、図32の3204は、RASマーカへの照度が3201の(1)であるときに観測されるRASマーカの画像を示している。また、図32の3205は、RASマーカへの照度が3201の(2)であるときに観測されるRASマーカの画像を示している。また、図32の3206は、RASマーカへの照度が3201の(3)であるときに観測されるRASマーカの画像を示している。また、図32の3207は、RASマーカへの照度が3201の(4)であるときに観測されるRASマーカの画像を示している。
【0088】
図32の3201に示されているように、従来のARToolKitPlusマーカと比較して、RASマーカの角度は、照度を変化させても大きく変化しない。したがって、RASマーカを用いることにより、従来のARToolKitPlusマーカよりロバストな観測が可能である。
【0089】
図32の3202は、図32の3201の照度(1)、(2)、(3)、(4)のときの黒ピークの位置を示している。図32の3202に示されているように、照度の変化により黒ピークの位置が、1.8°変化する。これは、図33に示されているように、RASマーカ上で計測される濃淡パターンが、強い光が照射されると、濃淡パターン3301から濃淡パターン3302に変化する場合があるからであると考えられる。この程度の変化は、通常の照明条件下では深刻な問題を起こすことはないが、以下で説明するような照度対策をとることもできる。
【0090】
以下で説明する照度対策は、例えば、日中の屋外等で、光が強く、光のRASマーカへの入射角度が変動する環境において有効である。
【0091】
照度対策として、例えば、RASマーカ上で、光の強さの影響を受けやすい白黒の濃淡パターンではなくて、光の強さの影響を受けにくいRGBやHSV等の色の濃淡パターンのピークを計測することにより、RASマーカへの光の入射角度の変動の影響を取り除くことができる。例えば、図33の濃淡パターン3303に示されているように、RGBのうちB(青)の値のみを用いて青ピークを計測して、照度対策を行うことができる。このようにすることにより、RASマーカ上で、白黒の濃淡パターンを計測する場合と比較して、RASマーカ上で計測されるピークの位置の変動を約半分とすることができる。
【0092】
(RASマーカの使用例)
上記で説明したように、本発明に係るRASマーカを用いることにより、従来のARマーカよりも安定かつ正確な、RASマーカの姿勢計測が可能である。特に、マーカとマーカの観測物であるカメラが正対に近い状態のときでも、従来のARマーカと比べて、RASマーカは安定かつ正確な姿勢計測が可能である。したがって、本発明に係るRASマーカは、より安定かつ正確な姿勢計測が必要なアプリケーションにおいて従来のARマーカに代わるものとして利用価値が高い。
【0093】
図17は、本発明に係る2つのRASマーカユニットを用いた距離計測の方法を示す図である。図17に示されているように、2つのRASマーカユニット(RASマーカユニット1、RASマーカユニット2)との視線角度θ1、θ2を計測することにより、2つのRASマーカユニットの間の距離wが既知であれば、2つのRASマーカユニットを含む平面と視点(RASマーカユニットを観測する位置)との距離dを算出することができる。このように、複数のRASマーカユニットを効果的に組み合わせることにより、距離計測を行うことができる。
【0094】
図18は、本発明に係るRASマーカをロボットハンドの制御に利用している様子を示す図である。図18に示されているように、RASマーカを観測することができるカメラを搭載するロボットハンドを、カメラにより計測されるRASマーカの黒ピークが所定の位置に来るように制御するだけで、操作対象物体に対する位置姿勢合わせを完了できる。このとき明示的な姿勢計測を行う必要はないため、シンプルな制御ルールによる作業現場での位置合わせが可能となる。
【0095】
図34は、RASマーカをマーカとして用いないときの図2に示されているロボットタスクにおける車椅子の作業可能範囲について示す図である。図2に示されているようなロボットタスクを実現するシステムでは、マーカとして、ARToolKitPlusマーカが用いられてきた。しかし、図15の(2)に示されているように、ARToolKitPlusマーカとカメラが正対している状態(回転角が0°の場合)において、ARToolKitPlusマーカから計測される回転角の情報の精度が悪い。このため、図2に示されているようなロボットタスクを実現するシステムでは、ARToolKitPlusマーカから計測される回転角の情報(姿勢情報)は用いられていなかった。
【0096】
姿勢情報を用いることができないため、ARToolKitPlusマーカを用いた従来のシステムでは、ARToolKitPlusマーカと正対する姿勢で車椅子を位置決めしなければならない。このため、従来のシステムでは、ARToolKitPlusマーカと正対する姿勢で位置決めされた車椅子につけられたロボットハンドのカメラは、ARToolKitPlusマーカと正対しているという前提で、ロボットアームの軌道が生成されなければならない。このような制約のために、従来のシステムでは、冷蔵庫の扉開け動作のようなロボットタスクの成否は、車椅子の初期位置と姿勢に大きく依存してしまう。例えば、冷蔵庫の扉開け動作を成功させるために、従来のシステムでは、車椅子の初期位置と姿勢を、図34の作業可能範囲3401に示されている範囲内にする必要があり、実用上の大きな制約となっている。
【0097】
ここで、図34の作業可能範囲3401の記号の意味の一例が、図34の定義3402に示されている。定義3402の記号3403は、○が車椅子の初期位置を表し、姿勢が、初期位置から冷蔵庫のハンドル方向から左に12°から右に6°であることを示している。
【0098】
図35は、本発明に係るRASマーカを用いたときの図2に示されているロボットタスクを実現するシステムにおける、ロボットハンドの位置決めのための制御アルゴリズムを説明するための図である。以下で説明する制御アルゴリズムを用いることより、車椅子の初期位置と姿勢についての制約を従来システムよりゆるめることができる。
【0099】
図35に基づく制御アルゴリズムは、以下の通りである。
【0100】
(1)車椅子の位置決め完了時におけるRASマーカ上で計測される黒ピークの位置の値pgoalを記録しておく。そして、車椅子の位置決め完了時におけるRASマーカとロボットハンドとの距離dgoalを記録しておく。dgoalは、例えば、RASマーカに含まれるARToolKitPlusマーカを利用することにより求めることができる。
【0101】
(2)RASマーカとロボットハンドとの距離がdgoalとなり、ロボットハンドの中心軸3501がRASマーカの中心3502を通るようにロボットハンドの位置と姿勢を修正する。
【0102】
(3)上記(2)のRASマーカとロボットハンドとの位置関係を保ちつつ、RASマーカ上で計測される現在の黒ピークの位置の値pcrntとpgoalとの差が正の場合には、ロボットハンドの姿勢を-2°修正し、RASマーカ上で計測される現在の黒ピークの位置の値pcrntとpgoalとの差が負の場合には、ロボットハンドの姿勢を+2°修正する。
【0103】
(4)|pcrnt−pgoal|<9(視線角度の±1.5°に相当)となるまで、上記の(3)を繰り返す。
【0104】
上記の制御アルゴリズムでは、RASマーカで計測される黒ピークの位置を、角度の情報に変換せずに、ロボットハンドを制御するものである。しかし、上記の制御アルゴリズムを用いることにより、実用上の性能が十分な図2に示されているロボットタスクを実現するシステムを構築可能である。実際に、上記の制御アルゴリズムを用いることにより、20パターンの初期位置から試行して、上記の制御アルゴリズムを用いて、1〜8回のロボットハンドの位置と姿勢の修正を繰り返すことにより、失敗なく、2°以内の精度でRASマーカに対するロボットハンドの位置決めをすることができる。
【0105】
図36は、RASマーカを用いる前の車椅子の作業可能範囲と、RASマーカを用いた際の車椅子の作業可能範囲を比較した図である。図36に示されているように、RASマーカを用いた際の車椅子の作業可能範囲3602は、RASマーカを用いる前の車椅子の作業可能範囲3601よりも拡大しており、RASマーカを用いることにより、車椅子の作業可能範囲を広げることができることがわかる。
【0106】
(その他のタイプのRASマーカ)
以上説明してきた、RASマーカは、図19に示されているように、横軸1901の周りに回転し、RASマーカの濃淡パターンの移動方向が横軸1901の方向と直交する。
【0107】
一方、図20に示されているようなタイプのRASマーカは、縦軸2001の周りに回転し、RASマーカの濃淡パターンの移動方向が縦軸2001の方向と同一である。白黒縞模様の黒色のライン方向に沿って少しずつ黒色のラインの位相がずれていくようにし、黒色のライン間の間隔はレンチキュラレンズの間隔と等しくすることで、図20のタイプのRASマーカを作成することができる。図19や図20に示されているような、濃淡パターンの移動方向が異なる様々なタイプのRASマーカを、RASマーカを貼付する場所等の制約に応じて使い分けることができる。
【0108】
(RASマーカユニットの数と、RASマーカと視点との位置関係について)
図22は、図11に示すような2つのRASマーカユニットを直交配置したRASマーカによって定まる観測視点の位置を示す。このタイプのRASマーカをカメラで観測することで、その観測視点が、それぞれのRASマーカユニットが定める視点平面(図9参照)の交線2201上に位置することが分かる。
【0109】
一方、図23は3個のRASマーカユニットを正三角形状に配置したRASマーカによって定まる観測視点の位置を示す。このタイプのRASマーカをカメラで観測することで、その観測視点が、それぞれのRASマーカユニットが定める視点平面(図9参照)の交点2301上に位置することが分かる。このように、RASマーカユニットを3つ用いることで、3つのRASマーカユニットの濃淡パターンに基づいて、マーカと視点との相対位置関係(x,y,z)を定めることができる。
【0110】
図17、22、23を用いて説明したように、複数のRASマーカユニットの情報を融合することで距離を測定したり視点の位置を一意に定めることができる。
【0111】
(2次元化されたRASマーカ)
図37は、2次元化されたRASマーカを示す図である。図37に示されているように、2次元化されたRASマーカは、例えば、多数のレンズが2次元上に配列されたレンズアレイを、矢印3701の方向に、ドットパターンに貼り付けることにより作成される。ここで、レンズアレイに含まれるレンズは、例えば、凸レンズでもよい。また、ドットパターンは、例えば、紙に印刷されていてもよい。また、図37に示されているレンズアレイの例では、一例としてレンズが蜂の巣状に配列されているが、例えば、レンズアレイにおいて、レンズの配列とドットパターンに含まれているドットの配列とが相似の関係にあれば、レンズが格子状に配列されていてもよい。また、図37に示されているレンズアレイに含まれているレンズの形状は、一例として、円であるが、例えば、矩形でもよいし、凸レンズとして機能すればどのような形状でもよい。
【0112】
図38は、2次元化されたRASマーカ3800におけるレンズとドットパターンに含まれるドットの位置との位置関係を示す図である。図38に示されているように、例えば、レンズ3801において、ドットの位置3802は、レンズの中心の位置3803からずれている。
【0113】
また、図38に示されている例では、レンズの中心の間隔は、ドットパターンに含まれるドットの間隔よりも小さくなっている。そして、図38に示されている例では、2次元化されたRASマーカ3800の中心から離れた周囲の領域ほど、レンズの中心の位置とドットの位置の差が、レンズの半径の方向に大きくなっている。
【0114】
図39は、2次元化されたRASマーカを観測する角度によって観測される濃淡パターンがどのように変化するかを示す図である。例えば、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも小さくなっている場合に、視線角度3901で、2次元化されたRASマーカを観測すると、濃淡パターン3903が観測される。また、例えば、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも小さくなっている場合に、視線角度3902で、2次元化されたRASマーカを観測すると、濃淡パターン3904が観測される。
【0115】
図39に示されているように、視線角度と、2次元化されたRASマーカ上で観測される濃淡パターンの位置が関連付いている。したがって、図37に示されているように、2次元化されたRASマーカ上の濃淡パターンの位置3703を観測することにより、2次元化されたRASマーカを観測している視線3702の視線角度を計測することができる。
【0116】
図40は、2次元化されたRASマーカユニットの例を示す図である。図40の2次元化されたRASマーカユニット4001では、一例として、2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲に3つの黒色の正方形の点と1つの黒色の正方形の線が設けられている。また、図40の2次元化されたRASマーカユニット4002では、一例として、2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲に線が設けられている。また、図40の2次元化されたRASマーカユニット4002では、一例として、2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲に線が設けられている。図40の2次元化されたRASマーカユニット4003では、一例として、2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲に3つの黒色の円形の線と1つの黒色の円形の点が設けられている。
【0117】
図40に示されている2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲の点や線の位置は、濃淡パターンの位置がどこにあるかを計測するときの基準となる位置とされてもよい。
【0118】
図41は、2次元化されたRASマーカを観測する角度によって観測される濃淡パターンがどのように変化するかを示す図である。例えば、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも大きくなっている場合に、視線角度4101で、2次元化されたRASマーカを観測すると、濃淡パターン4103が観測される。また、例えば、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも小さくなっている場合に、視線角度4102で、2次元化されたRASマーカを観測すると、濃淡パターン4104が観測される。このように、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも大きくなっている場合には、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも小さくなっている場合とは、逆の方向に、視線角度を変えると、濃淡パターンが変化する。
【符号の説明】
【0119】
301 軸
1001 軸
1010 計測基準点
1011 計測基準点
1012 計測基準点
1013 計測基準点
【技術分野】
【0001】
本発明は、物体に付けることのできるマーカに関する。
【背景技術】
【0002】
AR(Augmented Reality:拡張現実感)やロボティクスの分野において、ロボットなどが、物体の位置や姿勢を認識するために、マーカが用いられている。マーカとは、物体に付けることのできる平面パターンである。
【0003】
マーカは、特に、今後のサービスロボットの実用化に際して、サービスロボットによる確実な自律作業を支援するシステムの構築に不可欠な要素である(非特許文献1、2、3)。
【0004】
マーカのうち代表的なものは、正方形の黒い枠とその内部に印刷された2次元パターンコードを含む。そして、マーカをカメラで認識することにより、マーカとカメラの相対的な位置と姿勢を認識し、マーカの付けられた物体の位置や姿勢を認識することができる。また、カメラにより、マーカに記録された情報を読み取ることもできる。
【0005】
図1は、一般的なARマーカの例(非特許文献7)を示す図である。図1には、ARToolKitマーカ、ARTagマーカ、CyberCodeマーカ、およびARToolKitPlusマーカが示されている。また、QRCode(非特許文献8)のようにより多くの情報を記録可能なマーカを、ARマーカとして用いることもできる(非特許文献1、2)
【0006】
AR分野では、例えば、実世界の画像に対してCG(Computer Graphics:コンピュータグラフィクス)のモデルを、実世界の画像中の物体に付けられたARマーカの位置に合わせて重ねて表示することが行われている。
【0007】
ロボティクス分野では、例えば、物体に付けられたARマーカをロボットに計測させることにより、ロボットにARマーカが付けられた物体の位置や姿勢を認識させて、物体を操作させることが行われている。
【0008】
図2は、ロボティクス分野における、マーカを用いたロボットタスクの例を示す図である。図2の例では、車椅子に装着された、車椅子に乗る人の生活支援のためのロボットアームの先のロボットハンドにつけられたカメラにマーカが付けられた冷蔵庫の取っ手を認識させて、ロボットハンドに、冷蔵庫の扉の開閉を自動的に行わせている。図2に示されているタスクでは、カメラがマーカを認識した後、ロボットは自律的にマーカの位置および姿勢を基準として所定のロボットアームの軌道を生成することにより、冷蔵庫の扉を開けることができる。
【0009】
カメラによるマーカの計測は、以下で説明するように従来行われている。まず、カメラが、マーカの画像を読み取る。次に、マーカの画像が、画像処理されて、マーカの4つのコーナー(4角)が検出される。そして、カメラに読み取られた画像内でのマーカの4つのコーナーの位置関係を用いた幾何学的計算により、マーカの計測が行われ、マーカが付けられた物体の位置や姿勢を、カメラが認識することができる。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】J.Ota, et al., “Environmnetal support method for mobile robots using visual marks with memory storage”, in Proc. 1999 IEEE Intl. Conf. on Robotics and Automation (ICRA), vol.4, pp.2976-2981, 1999.
【非特許文献2】K.Ohara, et al., “Visual Mark for Robot Manipulation and Its RT-Middleware Component”, Advanced Robotics, Vol. 22, No. 6, pp.633-655, 2008.
【非特許文献3】H.Tanaka et al., “Visual Marker System for Control of Flexible Manipulator Supporting Daily Living”, in Proc. ICROSSICE Intl. Joint Conf. 2009, pp.1666-1670, 2009.
【非特許文献4】Y.Uematsu and H.Saito, “Improvement of Accuracy for 2D Marker-Based Tracking Using Particle Filter”, in Proc. 17th Intl. Conf. Artificial Reality and Telexistence 2007, pp.183-189, 2007.
【非特許文献5】D.Abawi, J.Bienwald and R.Dorner, “Accuracy in Optical Tracking with Fiducial Markers:An Accuracy Function for ARToolKit”,in Proc. The Third IEEE and ACM Intl. Symp. On Mixed and Augmented Reality (ISMAR 2004), pp.260-261, 2004.
【非特許文献6】K.Pentenrieder, et al., “Analysis of tracking accuracy for single-camera square-marker-based tracking”, in Proc. Dritter Workshop Virtuelle und Erweiterte Realitt der GIFachgrupper VR/AR, Koblenz, Germny, 2006.
【非特許文献7】M.Fiala, “ARTag Fiducial Marker System Applied to Vision Based Spacecraft Docking”, in Proc. Intl. Conf. on Intelligent Robots and Systems (IROS) 2005 Workshop on Robot Vision for Space Applications, pp.35-40, 2005.
【非特許文献8】QRcode Web Site, “http://www.denso-wave.com/qrcode/index-e.html”
【非特許文献9】H.Kato, “Inside ARToolKit”, http://www.hitl.washington.edu/artoolkit/Papers/ART02-Tutorial.pdf
【非特許文献10】M.Rubio, et al., “Jittering Reduction in Marker-Based Augmented Reality Systems”, in Proc. ICCSA(1), 2006, pp.510-517, 2006.
【非特許文献11】D.Wagner and D.Schmalstieg, “ARToolKitPlus for Pose Tracking on Mobile Devices”, Proc. 12th Computer Vision Winter Workshop (CVWW’07), 2007.
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、上記のような従来技術によると、マーカのサイズが小さいときに、マーカとカメラが正対する付近で、マーカの計測誤差が大きくなってしまう(非特許文献4、5、6)。また、たとえカメラでフィルタ(平均フィルタ、カルマンフィルタ、パーティクルフィルタ等)や計測履歴を用いることにより、マーカの計測値の分散を小さくすることができても(非特許文献4、9、10)、マーカの計測値が真値となっている保証はなかった。
【0012】
図24は、上記のような従来のマーカのもつ課題を定性的に説明するための図である。従来のマーカを用いるシステムでは、射影変換の原理を用いた幾何的計算により、マーカの位置と回転角(姿勢)が計測される。このような従来のシステムでは、まず、図24に示されているように、例えば、マーカの4つのコーナー2401、2402、2403、2404の位置が、カメラにより観測される。そして、コーナーの位置からマーカを観測するカメラとマーカとの相対的な位置と姿勢が一意に決定される。このため、図24の(B)に示されているように、マーカを観測するカメラとマーカとが正対しない場合には、マーカのコーナーの位置の計測誤差が小さいと、マーカの回転角には小さな計測誤差しか生じない。一方、図24の(A)に示されているように、マーカを観測するカメラとマーカとが正対する付近にある場合には、たとえマーカのコーナーの位置の計測誤差が小さくても、マーカの回転角には大きな計測誤差が生じてしまう。
【課題を解決するための手段】
【0013】
上記の課題を解決するために、本発明に係るマーカは、模様と、模様の上に付けられたレンズであって、レンズを観測する方向に応じてレンズ上に観測される濃淡パターンが変化するレンズとを含むマーカユニットを備えることを特徴とする。
【発明の効果】
【0014】
本発明によれば、マーカとマーカの観測物が正対する付近でも、マーカを観測物により正確に計測することができる。
【図面の簡単な説明】
【0015】
【図1】一般的なARマーカの例を示す図である。
【図2】マーカを用いたロボットタスクの例を示す図である。
【図3】本発明に係るRASマーカの濃淡パターンの変化の例を示す図である。
【図4】本発明に係るRASマーカの基本構造の例を示す図である。
【図5】本発明に係るRASマーカを観測する角度によって観測される色が変化する原理を示す図である。
【図6】本発明に係るRASマーカにおいて白黒縞模様の黒色のラインの間隔とレンチキュラレンズの間隔が等しい場合に観測される濃淡パターンの変化を示す図である。
【図7】本発明に係るRASマーカにおいて白黒縞模様の黒色のラインの間隔がレンチキュラレンズの間隔より少し広い場合に観測される濃淡パターンの変化を示す図である。
【図8】本発明に係るRASマーカにおける、黒ピークの周期とレンチキュラレンズのレンズの数および白黒縞模様の黒色のラインの数の関係を示す図である。
【図9】本発明に係るRASマーカにおける、視線角度と黒ピーク位置の関係を示す図である。
【図10】本発明に係るRASマーカユニットのデザインの例を示す図である。
【図11】本発明に係るRASマーカのデザインの例を示す図である。
【図12】本発明に係るRASマーカの黒ピーク位置の計測のための画像処理アルゴリズムの例を説明するための図である。
【図13】本発明に係るRASマーカの性能を検証するための装置の例を示す図である。
【図14】本発明に係るRASマーカの性能の検証結果を表示するためのGUIの例を示す図である。
【図15】本発明に係るRASマーカの性能と従来のARToolKitPlusマーカの性能を比較した図である。
【図16】本発明に係るRASマーカの性能と従来のARToolKitPlusマーカの性能を比較した図である。
【図17】本発明に係る2つのRASマーカユニットを用いた距離計測の方法を示す図である。
【図18】本発明に係るRASマーカをロボットハンドの制御に利用している様子を示す図である。
【図19】本発明に係るRASマーカの例を示す図である。
【図20】本発明に係るRASマーカの例を示す図である。
【図21】本発明に係る画像処理アルゴリズムの例のフローチャートである。
【図22】2つの直交するRASマーカユニットを用いた場合に定まる視点の位置を示す図である。
【図23】三角形状に配置した3つのRASマーカユニットを用いた場合に定まる視点の位置を示す図である。
【図24】従来のマーカのもつ課題を定性的に説明するための図である。
【図25】本発明に係るRASマーカに含まれる白黒縞模様の黒い線の太さに応じて、RASマーカ上で計測される濃淡パターンがどのように変化するかを示す図である。
【図26】本発明に係るRASマーカユニットのコーナーと計測基準点の画像を2種類の閾値によって二値化したものを示す図である。
【図27】本発明に係るRASマーカユニットにおける、視線角度と黒ピーク位置の関係を示す図である。
【図28】本発明に係る光学モデルを説明するための図である。
【図29】本発明に係るRASマーカを実測することにより得られた値の組合せを示す図である。
【図30】視線角度の計測値と、様々なxa、xb、da、dbの値を用いて、本発明に係る光学モデルにより計算された視線角度θpとを比較した図である。
【図31】本発明に係るRASマーカの観測点のRASマーカからの距離を変化させたときに、RASマーカによる計測の安定性がどのように変化するかを示す図である。
【図32】本発明に係るRASマーカへの照度を変化させたときに、本発明に係るRASマーカによる計測の安定性がどのように変化するかを示す図である。
【図33】本発明に係るRASマーカ上で計測される濃淡パターンが、強い光が照射される
【図34】本発明に係るRASマーカをマーカとして用いないときの図2に示されているロボットタスクにおける車椅子の作業可能範囲について示す図である。
【図35】本発明に係るRASマーカを用いたときの図2に示されているロボットタスクを実現するシステムにおける、ロボットハンドの位置決めのための制御アルゴリズムを説明するための図である。
【図36】本発明に係るRASマーカを用いる前の車椅子の作業可能範囲と、本発明に係るRASマーカを用いた際の車椅子の作業可能範囲を比較した図である。
【図37】本発明に係る2次元化されたRASマーカを示す図である。
【図38】本発明に係る2次元化されたRASマーカ3800におけるレンズとドットパターンに含まれるドットの位置との位置関係を示す図である。
【図39】本発明に係る2次元化されたRASマーカを観測する角度によって観測される濃淡パターンがどのように変化するかを示す図である。
【図40】本発明に係る2次元化されたRASマーカユニットの例を示す図である。
【図41】本発明に係る2次元化されたRASマーカを観測する角度によって観測される濃淡パターンがどのように変化するかを示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態について、詳細に説明する。
(本発明の概要)
まず、本発明の概要について説明する。本発明では、マーカを観測する方向に応じて、観測されるマーカの濃淡パターンが変化する。そして、マーカの濃淡パターンから、マーカとマーカを観測する観測物との相対的な関係(位置や角度等)が計測されることができる。
【0017】
(RASマーカ)
具体的には、本発明において、上記の処理を可能にするために、レンチキュラレンズと白黒縞模様とを組み合わせたRAS(Rotation Angle Scale(回転角度物差し))マーカを用いる。なお、以下では、白黒縞模様を一例として用いて説明するが、レンチキュラレンズに組み合わせられる図柄は、白黒縞模様でない任意の色の任意の模様であってもよい。RASマーカをカメラが観測する際に、RASマーカに対するカメラの視線角度に応じて、カメラが観測することができるRASマーカの濃淡パターンが変化する。
【0018】
RASマーカに対するカメラの視線角度の真値と、カメラが観測するRASマーカの濃淡パターンの変化は、一対一に対応して不変である。したがって、RASマーカに対するカメラの視線角度と、カメラが観測するRASマーカの濃淡パターンとの対応関係を用いて、例えば、カメラが観測するRASマーカの濃淡パターンから、RASマーカに対するカメラの視線角度を正確に求めることができる。
【0019】
図3は、本発明に係るRASマーカの濃淡パターンの変化の例を示している。図3は、軸301の周りにRASマーカ302を回転させたときに、視点が固定されたカメラが観測するRASマーカ302の濃淡パターンが、矢印303の方向に変化していくことを示している。具体的には、図3に示されているように、軸301の周りにRASマーカ302を回転させると、カメラに観測される濃淡パターンのうちの濃い部分と薄い部分のRASマーカ上での位置が変化する。すなわち、図3では、軸301の周りにRASマーカ302が回転されると、濃淡パターンのうち色の濃い部分が移動しているようにカメラに観測される。
【0020】
図4は、本発明に係るRASマーカの基本構造の例を示す図である。図4に示されているように、RASマーカは、レンチキュラレンズを、矢印401の方向に、白黒縞模様に貼り付けることにより作成される。ここでは、一例としてRASマーカでレンチキュラレンズが用いられているが、図3に示されているような濃淡パターンのふるまいが得られるならば、RASマーカにおいて、レンチキュラレンズ以外のレンズが用いられてもよい。
【0021】
以下で、図5を用いて、本発明に係るRASマーカを観測する角度によって観測される色が変化する原理を説明する。RASマーカが含むレンチキュラレンズは、シリンダー状の小さなレンズを等間隔に並べたレンズである。図5に示されているように、レンチキュラレンズを観測する視線の角度に応じて、レンチキュラレンズの下の白黒縞模様の黒色の部分の異なる部分が拡大して観測される。このようにして、図5に示されているように、RASマーカに対する観測視線の方向に応じて、レンチキュラレンズの下の白黒縞模様上の焦点が変わり、観測される色が白から黒の間で変化する。
【0022】
以下で、図6を用いて、本発明に係るRASマーカにおいて白黒縞模様の黒色のラインの間隔とレンチキュラレンズの間隔が等しい場合に、観測される濃淡パターンがどのように変化するかを説明する。図6に示されているように、RASマーカにおいて白黒縞模様の黒色のラインの間隔とレンチキュラレンズの間隔が等しい場合には、カメラの視線角度の変化に応じて、濃淡パターンが全体的に変化してカメラに観測される。
【0023】
また、以下で、図7を用いて、本発明に係るRASマーカにおいて白黒縞模様の黒色のラインの間隔がレンチキュラレンズの間隔より少し広い場合に、観測される濃淡パターンがどのように変化するかを説明する。図7に示されているように、RASマーカにおいて白黒縞模様の黒色のラインの間隔がレンチキュラレンズの間隔より少し広い場合には、カメラの視線角度の変化に応じて、色の濃い部分が移動しているように観測される。これが、図3において、軸301の周りにRASマーカ302が回転され、カメラのRASマーカ302に対する視線角度が変化すると、濃淡パターンのうち色の濃い部分が移動しているようにカメラに観測される原理である。以下で説明する本発明の実施形態では、一例として、白黒縞模様の黒色のラインの間隔がレンチキュラレンズの間隔より少し広いRASマーカを用いる。
【0024】
カメラにより、RASマーカを観測したときに、最も黒く観測される部分を、以下の説明では、黒ピークと呼ぶ。上述したように、カメラでRASマーカを観測すると、黒ピークが周期的に現れる。図8は、本発明に係るRASマーカにおける、黒ピークの周期とレンチキュラレンズのレンズの数および白黒縞模様の黒色のラインの数の関係を示している。図8に示されているように、黒ピークは、レンチキュラレンズのレンズの数と白黒縞模様の黒色のラインの数との差が1になる位置ごとに現れる。
【0025】
図9は、本発明に係るRASマーカにおける、視線角度と黒ピーク位置の関係を示す図である。図9において、xが黒ピーク位置、θが視線角度を表す。視点平面Sv上の点からカメラがRASマーカを観測した場合、黒ピークはいつでも同じ位置xに観測される。このとき、RASマーカ平面Smに垂直な面とSvの成す角が視線角度θに相当する。レンズ断面形状が円筒形(の一部)であるレンチキュラレンズの場合、視線角度θと黒ピーク位置xの関係は、θ=tan-1(a(x−b)+c)のようになる。θ=tan-1(a(x−b)+c)において、a、b、cはレンチキュラレンズおよび白黒縞模様の各種パラメータ(レンズの厚み,間隔,縞模様の間隔等)に応じて決まる定数である。
【0026】
後述するRASマーカユニットにおいても、同様に、図27に示されているように視点pと黒ピーク位置xを含む視点平面と、RASマーカユニットを含む平面Smに垂直な面との角度を視線角度θと定義することができる。ここで、θは、後述するRASマーカユニットの回転軸周り(図27では、例えばy軸周り)の角度となる。
【0027】
(RASマーカのデザイン)
以下では、本発明に係るRASマーカから観測される画像を処理して解析するために適したRASマーカのデザインについて説明する。
【0028】
図10は、本発明に係るRASマーカの基本単位であるRASマーカユニットのデザインの例を示す図である。図10に示されているRASマーカユニットの部分の長さを表す数値は無単位であり、比率が一定であれば、RASマーカユニットの大きさはどのようなものでもよい。図10に示されているRASマーカユニットは、図4に示されているものと同様の構造を有し、軸1001の周りの角度をカメラにより検知するために用いられる。一つのRASマーカユニットは、4つの計測基準点1010〜1013と濃淡パターン表示部1014を含む。計測基準点1010〜1013は、以下で説明する画像処理を確実に行うためのものである。
【0029】
図25は、RASマーカに含まれる白黒縞模様の黒い線の太さに応じて、RASマーカ上で計測される濃淡パターンがどのように変化するかを示す図である。例えば、図25のn=2の濃淡パターンは、最も明瞭に黒ピークの位置の検出が可能であるので、本実施形態では、n=2の濃淡パターンをRASマーカ上で計測可能なRASマーカを、一例として用いている。
【0030】
図11は、本発明に係るRASマーカのデザインの例を示す図である。図11に示されているRASマーカは、一例として、RASマーカユニット(x軸用)とRASマーカユニット(y軸用)の2つのRASマーカユニットを含んでいる。RASマーカは、2つ以上のRASマーカユニットを含んでいてもよいし、1つだけのRASマーカユニットを含んでもよい。
【0031】
RASマーカユニット(x軸用)は、RASマーカが付けられた物体のx軸周りの回転をカメラにより検知するために用いられる。また、RASマーカユニット(y軸用)は、RASマーカが付けられた物体のy軸周りの回転をカメラにより検知するために用いられる。
【0032】
また、図11のRASマーカは、一例として、ARToolKitPlusマーカ(非特許文献11)を含んでいる。ARToolKitPlusマーカは、図1に示されている2次元パターンコードを含む既存のARマーカの一つである。RASマーカは、ARToolKitPlusマーカ以外のARマーカを含んでもよいし、ARマーカを含まなくてもよい。ARToolKitPlusマーカは、画像処理の際、主にRASマーカユニットのおよその位置と向きをカメラにより観測するために用いられる。
【0033】
図26は、RASマーカユニットのコーナーと計測基準点の画像を2種類の閾値によって二値化したものを示す図である。図26に示されている画像において、二値化は、灰色と黒色によって行われている。図26の画像2601は、RASマーカユニットの検出の際に、照明変動があった場合の画像である。また、図26の画像2602は、RASマーカユニットの検出の際に、カメラの焦点のブレがあった場合の画像である。図26に示されているように、RASマーカユニットの検出の際に、照明変動やカメラの焦点のブレがあった場合でも、計測基準点2603、2604の形状を円形とすることにより、RASマーカユニットのコーナー2605と比較して、RASマーカユニットの計測基準点の中心(重心)の位置2606を精度良く検出することができる。そのため、本実施形態では、一例として、図21のステップS1207において、環境条件に対して変動の少ない画像変換が可能となるように、円形の計測基準点を、RASマーカユニットにおいて用いた。
【0034】
(画像処理アルゴリズム)
以下で、RASマーカをカメラで観測し、カメラに読み込まれた画像を処理してRASマーカの黒ピークの位置を計測するための画像処理アルゴリズムの例について図12と図21を用いて、説明する。なお、以下の画像処理アルゴリズムは、例えば、RASマーカを観測するカメラによって実行されてもよいし、カメラとは別体のコンピュータにより実行されてもよい。また、以下の画像処理アルゴリズムは、コンピュータプログラムの形式で、メモリに格納されてもよい。また、メモリからコンピュータプログラムを読み出して、CPUがコンピュータプログラムを実行することにより、以下の画像処理アルゴリズムが実現されてもよい。また、RASマーカを観測するカメラは、例えば、ロボットやロボットハンドに搭載されていてもよい。また、以下の画像処理アルゴリズムを実行するコンピュータは、上記カメラを搭載したロボットに組み込まれていてもよい。
【0035】
画像処理アルゴリズムでは、まず、ステップS1201で、カメラが、RASマーカを観測して、RASマーカに含まれるARToolKitPlusマーカ(図12の(1))を検出し、ARToolKitPlusマーカの画像を読み込む。そして、カメラに読み込まれた画像の中のARToolKitPlusマーカの2次元パターンコードを用いて、ARToolKitPlusマーカの位置と姿勢が算出される。一例として、ステップS1201で、ARToolKitPlusマーカの検出とARToolKitPlusマーカの画像の読み込みが行われるが、ARToolKitPlusマーカ以外のマーカがRASマーカに含まれていて、ARToolKitPlusマーカ以外のマーカの検出と、ARToolKitPlusマーカ以外のマーカの画像の読み込みがステップS1201で行われてもよい。
【0036】
次に、ステップS1202で、ステップS1201で算出されたARToolKitPlusマーカの位置を基準として、カメラが観測したRASマーカに含まれるRASマーカユニットの存在する領域の画像(図12の(2))が、カメラに読み込まれた画像から抽出される。
【0037】
次に、ステップS1203で、ステップS1202で抽出されたRASマーカユニットの存在する領域の画像が一定の大きさにリサイズされた画像(図12の(3))が生成される。
【0038】
次に、ステップS1204で、ステップS1203で生成された画像(図12の(3))の二値化と領域分割が行われる。
【0039】
次に、ステップS1205で、ステップS1204で行われた二値化と領域分割の結果から、ステップS1203で生成された画像に含まれる、カメラが観測したRASマーカ中のRASマーカユニットの4つの計測基準点(図12の(5)の符号1205−1〜1205−4)が抽出される。この際に、予め定められたRASマーカユニットの計測基準点の面積、寸法、縦横比等の基準を用いたフィルタリングが活用されてもよい。
【0040】
次に、ステップS1206で、4つの計測基準点(図12の(5)の符号1205−1〜1205−4)から射影変換行列が算出される。
【0041】
次に、ステップS1207で、ステップS1206で算出された射影変換行列を用いて、ステップS1203で生成された画像に含まれる、カメラが観測したRASマーカ中のRASマーカユニットを正面から観測した画像(図12の(7)、正面画像)が生成される。
【0042】
次に、ステップS1208で、RASマーカユニットの濃淡パターン表示部の濃淡パターンの中心軸1208−1上の32点の輝度が取得される。
【0043】
次に、ステップS1209で、S1208で取得された輝度の極値が図12の(9)に示されているようなパラボラ近似により算出される。通常、黒い部分は輝度が小さいが、ここでは輝度の大小関係を逆にして表示している。
【0044】
ステップS1209では、S1208で取得された輝度の値にばらつきがあったり、ステップS1201で、カメラが、RASマーカを観測する際に、焦点のブレがある場合でも、輝度の極値をロバストに算出するために、一例として、パラボラ近似が用いられている。
【0045】
パラボラ近似は、一例であり、ステップS1209では、極値を求めるためにパラボラ近似以外の近似が用いられてもよい。また、S1208で取得される輝度の点数は、32点でなくてもよく、ステップS1209において、精度良く極値が求められるならば、S1208で取得される輝度の点数は何点でもよい。ステップS1209において、求められた極値が、RASマーカに含まれるRASマーカユニットの濃淡パターンの黒ピークの位置として計測される。
【0046】
(黒ピークの位置から視線角度への変換)
以下で、図28を用いて、RASマーカ上で観測される黒ピークの位置から視線角度を求めるために用いることができる光学モデルについて説明する。
【0047】
光学モデルでは、一例として以下のような(1)〜(4)のような仮定をおくことができる。
【0048】
(1)RASマーカに含まれるレンズの表面は、半径rの円筒表面の一部である。
【0049】
(2)RASマーカ上の黒ピークが観測される位置では、視線と黒ピークを形成している黒い線の中心が交わっている。
【0050】
(3)RASマーカに含まれるレンズの形状および白黒縞模様の形状に関する様々なパラメータの正確な値は未知である。
【0051】
(4)RASマーカに含まれるレンズの軸と白黒縞模様の黒色のラインは平行である。(RASマーカに含まれるレンズの軸と白黒縞模様の黒色のラインが平行でない場合には、RASマーカ上で観測される濃淡パターンに明確な変化が現れるため、仮定(4)を満たさないRASマーカを排除することは容易である。)
【0052】
図28は、上記の仮定に基づいた光学モデルを示している。図28において、pLは、RASマーカに含まれるレンズの間隔を示しており、pSは、RASマーカに含まれる白黒縞模様の間隔を示している。また、図28において、xは、RASマーカの原点とRASマーカ上で観測される黒ピークとの距離を示している。また、図28において、θa、θbは、視線角度を示している。また、図28において、hは、RASマーカに含まれるレンズの円筒中心と、RASマーカに含まれる白黒縞模様との距離を示している。また、図28において、dは、RASマーカの観測視点とRASマーカが含まれる平面との距離を示している。また、図28において、eは、RASマーカに含まれるレンズの中心線と、RASマーカに含まれる白黒縞模様の黒色のラインの中心との距離を示している。
【0053】
以下では、上記の光学モデルを用いて、RASマーカに含まれる白黒縞模様との距離da、db、およびRASマーカの原点とRASマーカ上で観測される黒ピークとの距離xa、xbの観測値が得られているときに、視線角度θpがどのように求まるかを示す。
【0054】
まず、ある自然数nbを用いて、xb=xa+nbpS (式(1))と表せる。
【0055】
式(1)より、δp=pS−pL (式(2))とすると、eb=ea+nbδp (式(3))が成り立つ。
【0056】
式(1)よりnb=(xb−xa)/pS (式(4))である。
【0057】
また、xa/da=ea/h (式(5))、xb/db=eb/h (式(6))が、幾何的相似により成り立つ。
【0058】
ここで、観測された黒ピークの位置xpから視線角度θpが求まるとする。
【0059】
そうすると、xp=xa+nbpS (式(7))、ep=ea+npδp (式(8))、θp=tan-1(ep/h) (式(9))が成り立つ。
【0060】
また、式(7)よりnp=(xp−xa)/pS (式(10))となる。
【0061】
また、式(8)、(10)よりep=ea+δp(xp−xa)/pS (式(11))となる。
【0062】
また、式(3)、(4)、(6)より、以下の式(12)が求まる。
eb=ea+δp(xb−xa)/pS=hxb/db (式(12))
【0063】
また、式(5)、(12)より、以下の式(13)が求まる。
hxa/da+δp(xb−xa)/pS=hxb/db (式(13))
【0064】
ここで、xb/db−xa/da=A (式(14))、xb−xa=B (式(15))とすると、式(13)より、h=Bδp/(ApS) (式(16))が求まる。
【0065】
また、式(5)、(16)より、ea=xaBδp/(daApS) (式(17))が求まる。
【0066】
また、式(11)、(17)より、以下の式(18)が求まる。
ep=xaBδp/(daApS)+δp(xp−xa)/pS (式(18))
【0067】
また、式(16)、(18)より、以下の式(19)が求まる。
ep/h=xa/da+(xp−xa)A/B (式(19))
【0068】
また、式(14)、(15)、(19)より、以下の式(20)が求まる。
ep/h=xa/da+(xb/db−xa/da)(xp−xa)/(xb−xa) (式(20))
【0069】
そして、式(9)、(20)より、以下の式(21)が求まる。
θp=tan-1(xa/da+(xb/db−xa/da)(xp−xa)/(xb−xa)) (式(21))
【0070】
ここで、RASマーカの濃淡パターン表示部の長さをwとし、図21のステップS1209により計測された黒ピークの位置をp[pixel]とすると、xp/w=p/480 (式(22))が成立する。
【0071】
ここで、式(21)、(22)から、黒ピークの位置pと、視線角度θpの関係が以下の式(23)のように求まる。
θp=tan-1(xa/da+(xb/db−xa/da)(wp/480−xa)/(xb−xa)) (式(23))
【0072】
(RASマーカの性能)
以下で、本発明に係るRASマーカの性能について説明する。
【0073】
RASマーカの性能の検証のために、一例として、図13に示されているような装置を用いる。図13の装置により、回転台でRASマーカを回転させて、回転したRASマーカをカメラで観測することができる。
【0074】
RASマーカの性能の検証結果は、例えば、図14に示されているようなGUI(グラフィカルユーザインタフェース)に、以下のように表示されることができる。カメラに読み込まれたRASマーカを含む画像は、GUI1401に表示される。ステップS1207で生成される画像は、GUI1402に表示される。ステップS1208の中心軸1208−1を含む画像は、GUI1403に表示される。ステップS1209のパラボラ近似と、ステップS1209で求められた極値は、GUI1404に表示される。
【0075】
図13の装置を、RASマーカの性能の検証のために、一例として、以下の条件で用いる。図13の装置は、通常の白色蛍光灯による照明がされたオフィス環境で用いられる。また、図13の装置に含まれるカメラは、USB CMOSカメラ(対角画角56.3°、VGA)であり、回転台との中心軸とカメラとの距離は、133mmとされている。また、図13の装置のRASマーカに含まれるARToolKitPlusマーカの部分は、一辺が10mmの正方形である。また、RASマーカで用いられるレンチキュラレンズは、75LPI(1インチあたりのレンズ列数が75)のものであり、計測可能な視線角度範囲はおよそ±30°である(計測可能な視線角度範囲は、RASマーカで用いられるレンチキュラレンズの仕様によって決まる。)。
【0076】
また、図13の装置を用いて、RASマーカの性能を検証する際には、カメラとRASマーカが正対した状態を回転台の回転の角度(回転角)が0°の状態であるとし、回転台は、y軸のまわりに回転する。
【0077】
上記の場合に、RASマーカのy軸のまわりの回転角とRASマーカの黒ピークの位置xを、図13の装置を用いて、どの程度正確に計測できるかを、以下で検証する。
【0078】
図15の(1)は、図13の装置を用いて得られた、本発明に係るRASマーカの性能を示す図である。図15の(1)の横軸は、図13の回転台の回転角であり、縦軸は、計測されたRASマーカの黒ピークの位置xである。黒ピークの位置は、RASマーカのRASマーカユニットから計測される濃淡パターンの左端から右端の一次元の座標を表す0〜480の値をとる。図15の(1)の図に示されているように、回転角が大きくなると、RASマーカの黒ピークの位置が連続的に増加しており、RASマーカの黒ピークの位置から回転角を求めることが可能であることがわかる。また、図15の(1)の図より、RASマーカの黒ピークの位置に基づいて、1°未満の精度で、回転角を求めることが可能であり、RASマーカとカメラが正対している状態(回転角が0°の場合)でも、精密かつ安定して、RASマーカの黒ピークの位置から、回転角を計測できることがわかる。図15の(1)では、各回転角で20回の計測の平均がプロットされており、データのばらつきを示す標準偏差がエラーバーで示されているが、エラーバーの幅は非常に小さくて目立たない。図15の(1)のデータの標準偏差は、角度に変換すると約0.2°〜0.4°であり、幅広い回転角にわたって、非常に精密かつ安定して、RASマーカの黒ピークの位置から、回転角を計測できることがわかる。
【0079】
図15の(2)は、図13の装置を用いて得られた、ARToolKitPlusマーカの性能を示す図である。図15の(2)では、各回転角で20回の計測の平均がプロットされており、データのばらつきを示す標準偏差がエラーバーで示されている。図15の(2)の横軸は、図13の回転台の回転角であり、縦軸は、計測されたARToolKitPlusマーカの回転角(計測角Θ)である。図15の(2)に示されているように、従来のARToolKitPlusマーカを用いた場合、回転角と計測角Θは連続的に一致することはなく、計測角Θのふるまいは、非常に不安定である。すなわち、図15の(2)では、計測角Θの精度が良ければ、図15の(2)のデータは、右肩上がりの直線上にのるはずであるが、図15の(2)に示されているように、回転角が0°の付近で非常に精度が悪く、またデータのばらつきも大きく、安定しない。
【0080】
図15の(1)と図15の(2)との比較により、RASマーカを用いることにより、従来のARToolKitPlusマーカよりも、精密かつ安定して、マーカの回転角を計測することができることがわかる。
【0081】
図16は、本発明に係るRASマーカの性能と従来のARToolKitPlusマーカの性能を比較した図である。図16の横軸は、図13の回転台の回転角であり、縦軸は、計測角の標準偏差である。図16のRASマーカの数値は、図15の(1)の結果から求められたRASマーカが1°回転すると黒ピークの位置が3.4移動するという関係を用いて、RASマーカの黒ピークの位置xを計測角(deg)に変換することにより算出されている。図16のARToolKitPlusマーカの数値は、計測角Θの値の標準偏差である。図16に示されているように、マーカとカメラが正対している状態(回転角が0°の場合)において、従来のARToolKitPlusマーカの計測角の標準偏差は不安定であるが、本発明に係るRASマーカの計測角の標準偏差は非常に安定していることがわかる。本発明に係るRASマーカの計測角の標準偏差のばらつきは、上述したように約0.2°〜0.4°である。
【0082】
(計測値と光学モデルとの比較)
次に、式(23)で表される光学モデルと計測値とを比較する。
【0083】
ここでは、式(23)の視線角度θpを計算するために必要なxa、xb、da、dbの値として、RASマーカを実測することにより得られた、図29に示されている4つの値の組合せ((i)、(ii)、(iii)、(iv))を用いる。
【0084】
図30は、視線角度の計測値と、様々なxa、xb、da、dbの値を用いて式(23)で表された光学モデルにより計算された視線角度θpとを比較した図である。図30に示されているように、光学モデルにおいて用いるxa、xb、da、dbの値によって、光学モデルにより計算される視線角度θpと視線角度の計測値との一致度は異なる。例えば、図30に示されているように、xa、xb、da、dbの値の組合せとして、図29の(iv)と(i)の値の組合せを用いて光学モデルにより計算された視線角度θpは、視線角度の計測値と良く一致する。一方、図30に示されているように、xa、xb、da、dbの値の組合せとして、図29の(iv)と(i)の値の組合せ以外の組合せを用いて光学モデルにより計算された視線角度θpは、視線角度の計測値との一致度が低くなる。これは、理想的な仮定に基づいて構築された光学モデルでも、光学モデルの導出に用いられている仮定を満たすxa、xb、da、dbの値の組合せを用いて視線角度θpを計算すれば、視線角度の計測値を良く再現することができることを示している。
【0085】
(RASマーカのロバスト性)
図31は、RASマーカの観測点のRASマーカからの距離を変化させたときに、RASマーカによる計測の安定性がどのように変化するかを示す図である。図31の3101において、横軸は、RASマーカの観測点のRASマーカからの距離であり、縦軸は、各距離におけるRASマーカ上の黒ピークの位置の標準偏差を、図30に示されている視線角度と黒ピークの位置との関係から得られる係数(0.168[deg/pixel])によって角度に変換したものである。また、図31の3102は、RASマーカの観測点のRASマーカからの距離が277mmのときに、観測されるRASマーカの画像の一例を示している。また、図31の3103は、RASマーカの観測点のRASマーカからの距離が92mmのときに、観測されるRASマーカの画像の一例を示している。
【0086】
図31の3101に示されているように、従来のARToolKitPlusマーカと比較して、RASマーカの角度は、RASマーカの観測点のRASマーカからの距離を変化させても大きく変化しない。したがって、RASマーカを用いることにより、従来のARToolKitPlusマーカよりロバストな観測が可能である。
【0087】
図32は、RASマーカへの照度を変化させたときに、RASマーカによる計測の安定性がどのように変化するかを示す図である。図32の3201において、横軸は、RASマーカへの照度であり、縦軸は、各照度におけるRASマーカ上の黒ピークの位置の標準偏差を、図30に示されている視線角度と黒ピークの位置との関係から得られる係数(0.168[deg/pixel])によって角度に変換したものである。また、図32の3203は、RASマーカの外観の画像を示している。また、図32の3204は、RASマーカへの照度が3201の(1)であるときに観測されるRASマーカの画像を示している。また、図32の3205は、RASマーカへの照度が3201の(2)であるときに観測されるRASマーカの画像を示している。また、図32の3206は、RASマーカへの照度が3201の(3)であるときに観測されるRASマーカの画像を示している。また、図32の3207は、RASマーカへの照度が3201の(4)であるときに観測されるRASマーカの画像を示している。
【0088】
図32の3201に示されているように、従来のARToolKitPlusマーカと比較して、RASマーカの角度は、照度を変化させても大きく変化しない。したがって、RASマーカを用いることにより、従来のARToolKitPlusマーカよりロバストな観測が可能である。
【0089】
図32の3202は、図32の3201の照度(1)、(2)、(3)、(4)のときの黒ピークの位置を示している。図32の3202に示されているように、照度の変化により黒ピークの位置が、1.8°変化する。これは、図33に示されているように、RASマーカ上で計測される濃淡パターンが、強い光が照射されると、濃淡パターン3301から濃淡パターン3302に変化する場合があるからであると考えられる。この程度の変化は、通常の照明条件下では深刻な問題を起こすことはないが、以下で説明するような照度対策をとることもできる。
【0090】
以下で説明する照度対策は、例えば、日中の屋外等で、光が強く、光のRASマーカへの入射角度が変動する環境において有効である。
【0091】
照度対策として、例えば、RASマーカ上で、光の強さの影響を受けやすい白黒の濃淡パターンではなくて、光の強さの影響を受けにくいRGBやHSV等の色の濃淡パターンのピークを計測することにより、RASマーカへの光の入射角度の変動の影響を取り除くことができる。例えば、図33の濃淡パターン3303に示されているように、RGBのうちB(青)の値のみを用いて青ピークを計測して、照度対策を行うことができる。このようにすることにより、RASマーカ上で、白黒の濃淡パターンを計測する場合と比較して、RASマーカ上で計測されるピークの位置の変動を約半分とすることができる。
【0092】
(RASマーカの使用例)
上記で説明したように、本発明に係るRASマーカを用いることにより、従来のARマーカよりも安定かつ正確な、RASマーカの姿勢計測が可能である。特に、マーカとマーカの観測物であるカメラが正対に近い状態のときでも、従来のARマーカと比べて、RASマーカは安定かつ正確な姿勢計測が可能である。したがって、本発明に係るRASマーカは、より安定かつ正確な姿勢計測が必要なアプリケーションにおいて従来のARマーカに代わるものとして利用価値が高い。
【0093】
図17は、本発明に係る2つのRASマーカユニットを用いた距離計測の方法を示す図である。図17に示されているように、2つのRASマーカユニット(RASマーカユニット1、RASマーカユニット2)との視線角度θ1、θ2を計測することにより、2つのRASマーカユニットの間の距離wが既知であれば、2つのRASマーカユニットを含む平面と視点(RASマーカユニットを観測する位置)との距離dを算出することができる。このように、複数のRASマーカユニットを効果的に組み合わせることにより、距離計測を行うことができる。
【0094】
図18は、本発明に係るRASマーカをロボットハンドの制御に利用している様子を示す図である。図18に示されているように、RASマーカを観測することができるカメラを搭載するロボットハンドを、カメラにより計測されるRASマーカの黒ピークが所定の位置に来るように制御するだけで、操作対象物体に対する位置姿勢合わせを完了できる。このとき明示的な姿勢計測を行う必要はないため、シンプルな制御ルールによる作業現場での位置合わせが可能となる。
【0095】
図34は、RASマーカをマーカとして用いないときの図2に示されているロボットタスクにおける車椅子の作業可能範囲について示す図である。図2に示されているようなロボットタスクを実現するシステムでは、マーカとして、ARToolKitPlusマーカが用いられてきた。しかし、図15の(2)に示されているように、ARToolKitPlusマーカとカメラが正対している状態(回転角が0°の場合)において、ARToolKitPlusマーカから計測される回転角の情報の精度が悪い。このため、図2に示されているようなロボットタスクを実現するシステムでは、ARToolKitPlusマーカから計測される回転角の情報(姿勢情報)は用いられていなかった。
【0096】
姿勢情報を用いることができないため、ARToolKitPlusマーカを用いた従来のシステムでは、ARToolKitPlusマーカと正対する姿勢で車椅子を位置決めしなければならない。このため、従来のシステムでは、ARToolKitPlusマーカと正対する姿勢で位置決めされた車椅子につけられたロボットハンドのカメラは、ARToolKitPlusマーカと正対しているという前提で、ロボットアームの軌道が生成されなければならない。このような制約のために、従来のシステムでは、冷蔵庫の扉開け動作のようなロボットタスクの成否は、車椅子の初期位置と姿勢に大きく依存してしまう。例えば、冷蔵庫の扉開け動作を成功させるために、従来のシステムでは、車椅子の初期位置と姿勢を、図34の作業可能範囲3401に示されている範囲内にする必要があり、実用上の大きな制約となっている。
【0097】
ここで、図34の作業可能範囲3401の記号の意味の一例が、図34の定義3402に示されている。定義3402の記号3403は、○が車椅子の初期位置を表し、姿勢が、初期位置から冷蔵庫のハンドル方向から左に12°から右に6°であることを示している。
【0098】
図35は、本発明に係るRASマーカを用いたときの図2に示されているロボットタスクを実現するシステムにおける、ロボットハンドの位置決めのための制御アルゴリズムを説明するための図である。以下で説明する制御アルゴリズムを用いることより、車椅子の初期位置と姿勢についての制約を従来システムよりゆるめることができる。
【0099】
図35に基づく制御アルゴリズムは、以下の通りである。
【0100】
(1)車椅子の位置決め完了時におけるRASマーカ上で計測される黒ピークの位置の値pgoalを記録しておく。そして、車椅子の位置決め完了時におけるRASマーカとロボットハンドとの距離dgoalを記録しておく。dgoalは、例えば、RASマーカに含まれるARToolKitPlusマーカを利用することにより求めることができる。
【0101】
(2)RASマーカとロボットハンドとの距離がdgoalとなり、ロボットハンドの中心軸3501がRASマーカの中心3502を通るようにロボットハンドの位置と姿勢を修正する。
【0102】
(3)上記(2)のRASマーカとロボットハンドとの位置関係を保ちつつ、RASマーカ上で計測される現在の黒ピークの位置の値pcrntとpgoalとの差が正の場合には、ロボットハンドの姿勢を-2°修正し、RASマーカ上で計測される現在の黒ピークの位置の値pcrntとpgoalとの差が負の場合には、ロボットハンドの姿勢を+2°修正する。
【0103】
(4)|pcrnt−pgoal|<9(視線角度の±1.5°に相当)となるまで、上記の(3)を繰り返す。
【0104】
上記の制御アルゴリズムでは、RASマーカで計測される黒ピークの位置を、角度の情報に変換せずに、ロボットハンドを制御するものである。しかし、上記の制御アルゴリズムを用いることにより、実用上の性能が十分な図2に示されているロボットタスクを実現するシステムを構築可能である。実際に、上記の制御アルゴリズムを用いることにより、20パターンの初期位置から試行して、上記の制御アルゴリズムを用いて、1〜8回のロボットハンドの位置と姿勢の修正を繰り返すことにより、失敗なく、2°以内の精度でRASマーカに対するロボットハンドの位置決めをすることができる。
【0105】
図36は、RASマーカを用いる前の車椅子の作業可能範囲と、RASマーカを用いた際の車椅子の作業可能範囲を比較した図である。図36に示されているように、RASマーカを用いた際の車椅子の作業可能範囲3602は、RASマーカを用いる前の車椅子の作業可能範囲3601よりも拡大しており、RASマーカを用いることにより、車椅子の作業可能範囲を広げることができることがわかる。
【0106】
(その他のタイプのRASマーカ)
以上説明してきた、RASマーカは、図19に示されているように、横軸1901の周りに回転し、RASマーカの濃淡パターンの移動方向が横軸1901の方向と直交する。
【0107】
一方、図20に示されているようなタイプのRASマーカは、縦軸2001の周りに回転し、RASマーカの濃淡パターンの移動方向が縦軸2001の方向と同一である。白黒縞模様の黒色のライン方向に沿って少しずつ黒色のラインの位相がずれていくようにし、黒色のライン間の間隔はレンチキュラレンズの間隔と等しくすることで、図20のタイプのRASマーカを作成することができる。図19や図20に示されているような、濃淡パターンの移動方向が異なる様々なタイプのRASマーカを、RASマーカを貼付する場所等の制約に応じて使い分けることができる。
【0108】
(RASマーカユニットの数と、RASマーカと視点との位置関係について)
図22は、図11に示すような2つのRASマーカユニットを直交配置したRASマーカによって定まる観測視点の位置を示す。このタイプのRASマーカをカメラで観測することで、その観測視点が、それぞれのRASマーカユニットが定める視点平面(図9参照)の交線2201上に位置することが分かる。
【0109】
一方、図23は3個のRASマーカユニットを正三角形状に配置したRASマーカによって定まる観測視点の位置を示す。このタイプのRASマーカをカメラで観測することで、その観測視点が、それぞれのRASマーカユニットが定める視点平面(図9参照)の交点2301上に位置することが分かる。このように、RASマーカユニットを3つ用いることで、3つのRASマーカユニットの濃淡パターンに基づいて、マーカと視点との相対位置関係(x,y,z)を定めることができる。
【0110】
図17、22、23を用いて説明したように、複数のRASマーカユニットの情報を融合することで距離を測定したり視点の位置を一意に定めることができる。
【0111】
(2次元化されたRASマーカ)
図37は、2次元化されたRASマーカを示す図である。図37に示されているように、2次元化されたRASマーカは、例えば、多数のレンズが2次元上に配列されたレンズアレイを、矢印3701の方向に、ドットパターンに貼り付けることにより作成される。ここで、レンズアレイに含まれるレンズは、例えば、凸レンズでもよい。また、ドットパターンは、例えば、紙に印刷されていてもよい。また、図37に示されているレンズアレイの例では、一例としてレンズが蜂の巣状に配列されているが、例えば、レンズアレイにおいて、レンズの配列とドットパターンに含まれているドットの配列とが相似の関係にあれば、レンズが格子状に配列されていてもよい。また、図37に示されているレンズアレイに含まれているレンズの形状は、一例として、円であるが、例えば、矩形でもよいし、凸レンズとして機能すればどのような形状でもよい。
【0112】
図38は、2次元化されたRASマーカ3800におけるレンズとドットパターンに含まれるドットの位置との位置関係を示す図である。図38に示されているように、例えば、レンズ3801において、ドットの位置3802は、レンズの中心の位置3803からずれている。
【0113】
また、図38に示されている例では、レンズの中心の間隔は、ドットパターンに含まれるドットの間隔よりも小さくなっている。そして、図38に示されている例では、2次元化されたRASマーカ3800の中心から離れた周囲の領域ほど、レンズの中心の位置とドットの位置の差が、レンズの半径の方向に大きくなっている。
【0114】
図39は、2次元化されたRASマーカを観測する角度によって観測される濃淡パターンがどのように変化するかを示す図である。例えば、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも小さくなっている場合に、視線角度3901で、2次元化されたRASマーカを観測すると、濃淡パターン3903が観測される。また、例えば、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも小さくなっている場合に、視線角度3902で、2次元化されたRASマーカを観測すると、濃淡パターン3904が観測される。
【0115】
図39に示されているように、視線角度と、2次元化されたRASマーカ上で観測される濃淡パターンの位置が関連付いている。したがって、図37に示されているように、2次元化されたRASマーカ上の濃淡パターンの位置3703を観測することにより、2次元化されたRASマーカを観測している視線3702の視線角度を計測することができる。
【0116】
図40は、2次元化されたRASマーカユニットの例を示す図である。図40の2次元化されたRASマーカユニット4001では、一例として、2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲に3つの黒色の正方形の点と1つの黒色の正方形の線が設けられている。また、図40の2次元化されたRASマーカユニット4002では、一例として、2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲に線が設けられている。また、図40の2次元化されたRASマーカユニット4002では、一例として、2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲に線が設けられている。図40の2次元化されたRASマーカユニット4003では、一例として、2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲に3つの黒色の円形の線と1つの黒色の円形の点が設けられている。
【0117】
図40に示されている2次元化されたRASマーカユニット上の濃淡パターン表示部の周囲の点や線の位置は、濃淡パターンの位置がどこにあるかを計測するときの基準となる位置とされてもよい。
【0118】
図41は、2次元化されたRASマーカを観測する角度によって観測される濃淡パターンがどのように変化するかを示す図である。例えば、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも大きくなっている場合に、視線角度4101で、2次元化されたRASマーカを観測すると、濃淡パターン4103が観測される。また、例えば、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも小さくなっている場合に、視線角度4102で、2次元化されたRASマーカを観測すると、濃淡パターン4104が観測される。このように、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも大きくなっている場合には、レンズの中心の間隔がドットパターンに含まれるドットの間隔よりも小さくなっている場合とは、逆の方向に、視線角度を変えると、濃淡パターンが変化する。
【符号の説明】
【0119】
301 軸
1001 軸
1010 計測基準点
1011 計測基準点
1012 計測基準点
1013 計測基準点
【特許請求の範囲】
【請求項1】
模様と、前記模様の上に付けられたレンズであって、前記レンズを観測する方向に応じて前記レンズ上に観測される濃淡パターンが変化するレンズとを含むマーカユニットを備えることを特徴とするマーカ。
【請求項2】
2次元パターンコードをさらに備えることを特徴とする請求項1に記載のマーカ。
【請求項3】
前記模様は、白黒縞模様であることを特徴とする請求項1に記載のマーカ。
【請求項4】
前記レンズは、レンチキュラレンズであることを特徴とする請求項3に記載のマーカ。
【請求項5】
前記レンチキュラレンズに含まれるシリンダー状の小さなレンズの間隔と、前記白黒縞模様の黒いラインの間隔とが異なることを特徴とする請求項4に記載のマーカ。
【請求項6】
前記2次元パターンコードは、ARマーカであることを特徴とする請求項2に記載のマーカ。
【請求項7】
前記マーカユニットは、カメラによって観測されることを特徴とする請求項1に記載のマーカ。
【請求項8】
前記カメラは、ロボットハンドに搭載されていることを特徴とする請求項7に記載のマーカ。
【請求項9】
前記濃淡パターンの輝度の極値から前記マーカの回転角度が計測されることを特徴とする請求項1に記載のマーカ。
【請求項10】
複数の前記マーカユニットを備えることを特徴とする請求項1に記載のマーカ。
【請求項11】
前記濃淡パターンの輝度の極値から複数の前記マーカユニットを含む面と前記マーカユニットを観測する位置との距離が計測されることを特徴とする請求項10に記載のマーカ。
【請求項12】
前記濃淡パターンの変化の方向が、前記マーカの回転軸の方向と直交することを特徴とする請求項1に記載のマーカ。
【請求項13】
前記濃淡パターンの変化の方向が、前記マーカの回転軸の方向と同一であることを特徴とする請求項1に記載のマーカ。
【請求項14】
3つの前記マーカユニットを備え、前記3つのマーカユニットの濃淡パターンに基づいて、前記マーカと前記マーカの視点の相対的位置関係を求めることができることを特徴とする請求項1に記載のマーカ。
【請求項15】
前記レンズは、複数のレンズが2次元平面上に配列されたレンズであることを特徴とする請求項1に記載のマーカ。
【請求項16】
前記模様は、複数のドットを含むことを特徴とする請求項15に記載のマーカ。
【請求項17】
前記複数のレンズの中心の間隔と、前記複数のドットの間隔が異なることを特徴とする請求項16に記載のマーカ。
【請求項18】
前記複数のレンズは、蜂の巣状に2次元平面上に配列されていることを特徴とする請求項15に記載のマーカ。
【請求項19】
前記複数のレンズは、格子状に2次元平面上に配列されていることを特徴とする請求項15に記載のマーカ。
【請求項20】
前記複数のレンズに含まれる各レンズは、凸レンズであることを特徴とする請求項15に記載のマーカ。
【請求項1】
模様と、前記模様の上に付けられたレンズであって、前記レンズを観測する方向に応じて前記レンズ上に観測される濃淡パターンが変化するレンズとを含むマーカユニットを備えることを特徴とするマーカ。
【請求項2】
2次元パターンコードをさらに備えることを特徴とする請求項1に記載のマーカ。
【請求項3】
前記模様は、白黒縞模様であることを特徴とする請求項1に記載のマーカ。
【請求項4】
前記レンズは、レンチキュラレンズであることを特徴とする請求項3に記載のマーカ。
【請求項5】
前記レンチキュラレンズに含まれるシリンダー状の小さなレンズの間隔と、前記白黒縞模様の黒いラインの間隔とが異なることを特徴とする請求項4に記載のマーカ。
【請求項6】
前記2次元パターンコードは、ARマーカであることを特徴とする請求項2に記載のマーカ。
【請求項7】
前記マーカユニットは、カメラによって観測されることを特徴とする請求項1に記載のマーカ。
【請求項8】
前記カメラは、ロボットハンドに搭載されていることを特徴とする請求項7に記載のマーカ。
【請求項9】
前記濃淡パターンの輝度の極値から前記マーカの回転角度が計測されることを特徴とする請求項1に記載のマーカ。
【請求項10】
複数の前記マーカユニットを備えることを特徴とする請求項1に記載のマーカ。
【請求項11】
前記濃淡パターンの輝度の極値から複数の前記マーカユニットを含む面と前記マーカユニットを観測する位置との距離が計測されることを特徴とする請求項10に記載のマーカ。
【請求項12】
前記濃淡パターンの変化の方向が、前記マーカの回転軸の方向と直交することを特徴とする請求項1に記載のマーカ。
【請求項13】
前記濃淡パターンの変化の方向が、前記マーカの回転軸の方向と同一であることを特徴とする請求項1に記載のマーカ。
【請求項14】
3つの前記マーカユニットを備え、前記3つのマーカユニットの濃淡パターンに基づいて、前記マーカと前記マーカの視点の相対的位置関係を求めることができることを特徴とする請求項1に記載のマーカ。
【請求項15】
前記レンズは、複数のレンズが2次元平面上に配列されたレンズであることを特徴とする請求項1に記載のマーカ。
【請求項16】
前記模様は、複数のドットを含むことを特徴とする請求項15に記載のマーカ。
【請求項17】
前記複数のレンズの中心の間隔と、前記複数のドットの間隔が異なることを特徴とする請求項16に記載のマーカ。
【請求項18】
前記複数のレンズは、蜂の巣状に2次元平面上に配列されていることを特徴とする請求項15に記載のマーカ。
【請求項19】
前記複数のレンズは、格子状に2次元平面上に配列されていることを特徴とする請求項15に記載のマーカ。
【請求項20】
前記複数のレンズに含まれる各レンズは、凸レンズであることを特徴とする請求項15に記載のマーカ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図27】
【図28】
【図29】
【図30】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図25】
【図26】
【図31】
【図32】
【図33】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図27】
【図28】
【図29】
【図30】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図25】
【図26】
【図31】
【図32】
【図33】
【公開番号】特開2012−145559(P2012−145559A)
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願番号】特願2011−155630(P2011−155630)
【出願日】平成23年7月14日(2011.7.14)
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願日】平成23年7月14日(2011.7.14)
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】
[ Back to top ]